Javascript 如何使用es6模板文字作为角度分量输入
在Angular 4应用程序中,我有一个接受字符串输入的组件:Javascript 如何使用es6模板文字作为角度分量输入,javascript,angular,typescript,ecmascript-6,template-literals,Javascript,Angular,Typescript,Ecmascript 6,Template Literals,在Angular 4应用程序中,我有一个接受字符串输入的组件: <app-my-component [myInput]="'some string value'"></app-my-component> (也称为模板字符串或回勾字符串): 但它不起作用: 未捕获错误:模板分析错误: 分析器错误:意外的标记词法分析器错误:表达式中第1列处的意外字符[`] 正确的方法是什么?不能在角度分量输入中使用,因为不知道此语法 你提供的方式很好 或者像这样的 在组件中 //在
<app-my-component [myInput]="'some string value'"></app-my-component>
(也称为模板字符串或回勾字符串):
但它不起作用:
未捕获错误:模板分析错误:
分析器错误:意外的标记词法分析器错误:表达式中第1列处的意外字符[`]
正确的方法是什么?不能在角度分量输入中使用,因为不知道此语法
你提供的方式很好
或者像这样的
在组件中
//在组件中,可以使用ES6模板文本
名称:字符串;
输入:字符串;
恩戈尼尼特(){
this.name='dindu';
this.input=`我的名字是${this.name}!`;
}
在HTML中
也可以这样使用。它非常接近模板文字
您仍然可以在属性值中使用angular的插值语法:
myInput="My name is {{ name }}!"
您可以选择编写哪一个,但不幸的是,绑定表达式中不允许使用反勾号。只要模板位于TS源代码中而不是HTML中,使用模板文字表达式就可以工作。因此,下面的方法不起作用
现在还是这样吗?原因是什么?我觉得很奇怪,在2020年它仍然不受支持。因为它不能与内联模板一起工作-此请求已被Angular团队拒绝-谢谢,我可以知道为什么不允许反勾号,因为它不能与内联模板一起工作-此请求已被Angular团队拒绝-
<app-my-component [myInput]="`My name is ${name}!`"></app-my-component>
myInput="My name is {{ name }}!"