我有一个带有字符串输入的组件:

@Component({
   selector: 'abcComponent'
   template: `
      <div>
      ....
      </div>`
})
export class AbcComponent {
   @Input() text:string;
}

我要向组件发送包含引号的字符串(例如:abc“d):
   selector: 'parentComponent'
   template: `
      <div>
         <abcComponent [text]="'abc"d'"></abcComponent>
      </div>`
})

我也尝试过这个:
<abcComponent [text]="'abc\"d'"></abcComponent>

但是在两种情况下,我都会收到模板解析错误。

任何想法?

最佳答案

我发现执行此操作的方法是清理属性值。不要使用<abcComponent [text]="'abc"d'"></abcComponent>,而应使用<abcComponent [text]="'abc&quot;d'"></abcComponent>,因为&quot;是引号的“ sanitizer 值”。

考虑阅读this answer,了解如何将HTML清理成 token 以正确地转义字符。

09-25 16:56