angular - 在 Angular2 中为 Dart 组件的 View 正确使用 Elvis 运算符

标签 angular angular2-forms

我在 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/

相关文章:

Angular 2+ : Accessing Reactive Forms independently with Validation in ngFor loop

Angular2 在 http 响应上启用/禁用 formcontrol 不起作用

angular - 我在 ng build 中收到错误 ".form-floating>~label"

javascript - 如何在JS中从键/值创建字符串数组?

javascript - 单击按钮时将文本添加到现有输入字段

angular - Angular Reactive Form 中的 DOB 验证

angular - 我们如何设置 Angular 2中单选按钮的默认值

javascript - 在 iPad 上以全屏模式自动关闭视频

css - Angular 4流畅的动画

javascript - Angular 5 设置 HTML 选择元素的选定值