我在 Angular2 Dart 中看到 Angular for Dart Cheat Sheet (v2.0.0-beta.2)支持 Elvis 运算符。
我试图在一个组件 View 中使用它,但似乎在这里是不允许的。
给定
.html
<div
<label
for = "first">First<span class = "require">*</span></label>
<input
type = "text"
[(ngModel)] = "name?.first"
id = "first">
.飞镖
...
Name name = new Name();
...
运行应用程序出现以下错误:
错误跟踪
Transform TemplateCompiler on
epimss_ng2_reg|lib/components/name_component.ng_meta.json threw error: Template parse errors:
Parser Error: The '?.' operator cannot be used in the assignment at column 13 in [name?.first=$event] in NameComponent@39:12 ("
<input
type = "text"
[ERROR ->][(ngModel)] = "name?.first"
#firstCtrl = "ngForm"
[ngFormControl] = "nameForm"): NameComponent@39:12
什么情况下可以在组件 View 中使用运算符?
干杯
最佳答案
正如错误信息所说,它不能用于赋值。 name
为null时应该赋值到哪里?
如果您将简短形式拆分为更明确的形式
[ngModel]="name?.first" (ngModelChange)="name.first=$event"
然后就可以使用 elvis 运算符了。
关于angular - 在 Angular2 中为 Dart 组件的 View 正确使用 Elvis 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161789/