Angular 如何消除在html中用引号括起字符串属性的需要--Nativescript

Angular 如何消除在html中用引号括起字符串属性的需要--Nativescript,angular,nativescript,Angular,Nativescript,我有一个定义了属性的组件:type:string 当我在html中传入一个类型时,如果我添加 [type]="number" 它失败了,但如果我添加以下内容,它就会工作 [type]="'number'" 如何让属性系统知道将传入的是字符串,这样就不必将值括在引号中?这会失败,因为在执行以下操作时,它正在组件中查找名为number的变量 [type]=“number” 这是因为您通过包装将字符串传递给[type] [type]=“number” 也就是说,如果你真的不想包装它,你可以定义它

我有一个定义了属性的组件:type:string

当我在html中传入一个类型时,如果我添加

[type]="number"
它失败了,但如果我添加以下内容,它就会工作

[type]="'number'"

如何让属性系统知道将传入的是字符串,这样就不必将值括在引号中?

这会失败,因为在执行以下操作时,它正在组件中查找名为number的变量

[type]=“number”


这是因为您通过包装将字符串传递给[type]

[type]=“number”

也就是说,如果你真的不想包装它,你可以定义它

public number = 'number';

但您可能应该坚持将它包装成一个字符串,如果它是静态的,则停止它查找声明的变量


或者,您可以通过省略括号将文字值传递给输入

<my-component type="number"></my-component>


“number”被视为字符串文字,用于填充输入值

此操作失败,因为执行以下操作时,它正在组件中查找名为number的变量

[type]=“number”


这是因为您通过包装将字符串传递给[type]

[type]=“number”

也就是说,如果你真的不想包装它,你可以定义它

public number = 'number';

但您可能应该坚持将它包装成一个字符串,如果它是静态的,则停止它查找声明的变量


或者,您可以通过省略括号将文字值传递给输入

<my-component type="number"></my-component>


“number”被视为字符串文字,用于填充输入值

您也可以通过完全省略属性周围的括号来传递文本,即
type=“number”
我总是忘记:-),请随时将其编辑到回答中。在您的第一个建议中定义它是行不通的,因为它可能是数个选项之一,即号码、电话、电子邮件、社会保险、,等等,但移除支架效果良好。谢谢你的帮助!您也可以通过完全省略属性周围的括号来传递文本,即
type=“number”
我总是忘记:-),请随时将其编辑到回答中。在您的第一个建议中定义它是行不通的,因为它可能是数个选项之一,即号码、电话、电子邮件、社会保险、,等等,但移除支架效果良好。谢谢你的帮助!