angular - 如何消除在 html 中将字符串属性括在引号中的需要——Nativescript Angular
问题描述
我有一个定义了属性的组件: type: string;
当我在 html 中传入一个类型时,如果我添加
[type]="number"
它失败了,但是如果我添加以下内容,它就可以工作。
[type]="'number'"
如何让属性系统知道传入的是字符串,这样我就不必将值括在引号中?
解决方案
这会失败,因为当您执行以下操作时,它正在查找名为 number 的组件中的变量。
[type]="number"
这是有效的,因为您通过包装将字符串传递给 [type]
[type]="'number'"
这意味着如果您真的想避免包装它,您可以定义。
public number = 'number';
或者
public type = 'number';
[type]="type"
但是您可能应该坚持将其包装成一个字符串,并阻止它查找已声明的变量(如果它是静态的)。
或者,您可以通过省略括号将文字值传递给输入。
<my-component type="number"></my-component>
“数字”被视为字符串文字并用于填充输入值。
推荐阅读
- javascript - 如何为不同的类调用 querySelector?
- memory-management - 对象创建未分配给变量
- flutter - 颤振 | 如何记录用户在我的应用程序中花费的时间?
- angular - angular - 来自打字稿的另一个组件的参考 html
- postgresql - 在postgreSQL中从数组数组中插入多行,其中arrayA[0] =>arrayB[arr1[]],arrayA[1]=>arrayB[arr2[]]
- python - 重复菜单但只重复一次
- pine-script - TradingView Pinescript,为什么三元运算符不在这个情节示例中工作?
- c# - 字符串未被识别为有效的日期时间。即使使用 parse Exact
- node.js - 如何使用 Docker 在我的 CI 中运行 jshint
- python - 如何在 Django 中为 ManyToManyField 设置默认值