在Angular 4应用程序中,我有一个接受字符串输入的组件:

<app-my-component [myInput]="'some string value'"></app-my-component>

在某些情况下,我需要在字符串中传递一个变量,例如:

<app-my-component [myInput]="'My name is ' + name + '!'"></app-my-component>

如果我能用es6 template literals(又名template stringsback-tick strings)就好了:

<app-my-component [myInput]="`My name is ${name}!`"></app-my-component>

但它不起作用:

未捕获错误:模板分析错误:

正确的方法是什么?

推荐答案

ES6 Template literals (Template strings)不能在Angular 分量输入中使用,因为Angular compiler不知道这种语法.

你提供的方式很好.

<app-my-component [myInput]="'My name is ' + name + '!'"></app-my-component>

或者像这样的,

在组件中,

// 在组件中, you can use ES6 template literal
name: string;
input: string;
    
ngOnInit() {
  this.name = 'Dinindu';
  this.input = `My name is ${this.name}!`;
}

在HTML中,

<app-my-component [myInput]="input"></app-my-component>

也可以这样使用.非常接近模板文字,

<app-my-component myInput="My name is {{name}}"></app-my-component>

Typescript相关问答推荐

类型缩小对(几乎)受歧视的unions 不起作用

类型是工作.但它失go 了正确变体的亮点..为什么?或者如何增强?

如何推断类方法未知返回类型并在属性中使用它

无法从应用程序内的库导入组件NX Expo React Native

属性的类型,该属性是类的键,其值是所需类型

类型脚本中没有接口的中间静态类

TypeScrip表示该类型不可赋值

打印脚本中的动态函数重载

TypeScrip:逐个 case Select 退出noUncheck kedIndexedAccess

TS2339:类型{}上不存在属性消息

TypeScrip:来自先前参数的参数中的计算(computed)属性名称

尽管对象的类型已声明,但未解析的变量<;变量

重载函数的T helper参数

@TANSTACK/REACT-QUERY中发生Mutations 后的数据刷新问题

使用来自API调用的JSON数据的Angular

必需的输入()参数仍然发出&没有初始值设定项&q;错误

垫子工具栏不起作用的Angular 布线

VUE 3类型';字符串';不可分配给类型';参考<;字符串&>

通过辅助函数获取嵌套属性时保留类型

递归JSON类型脚本不接受 node 值中的变量