【问题标题】:ngModel not working on checkbox bound to array of objects [duplicate]ngModel不适用于绑定到对象数组的复选框[重复]
【发布时间】:2018-04-12 23:19:15
【问题描述】:

我有一个具有布尔属性的对象数组。试图将此属性绑定到复选框我不工作。

见下文

https://plnkr.co/edit/dsQQCJrQD5kfOwcsCzze

我得到并错误

Can't bind to 'ngModel' since it isn't a known property of 'input'. 

【问题讨论】:

    标签: javascript angular


    【解决方案1】:

    对于复选框输入,您可以使用[checked] 而不是[(ngModel)] 另外,您可以使用(change) 代替([ngModelChange)]

    <input class="checkbox binning-checkbox" type="checkbox"  
                (change)="select(item)" [checked]="item.selected">
    

    结帐the plunker here

    【讨论】:

    • 如果我这样做,“选择”方法不会被调用。
    • 我试图在选中复选框时取消选中它 public select(item){ alert(item.name); item.selected = false; }
    • 您需要为此使用(change)。查看更新的答案和更新的 plunker。
    • 检查一下plnkr.co/edit/WdtFF96B5GJScFYMQFzG“selected”属性是假的,它应该是真的,因为我们最近检查了它。
    • 我正在检查这是否是您的代码中的一个小问题,但我认为这不是您最初的问题。使用(change)[checked] 可以解决您最初的问题。您可以通过正在执行的警报进行验证,如果您将任何 selected 值设置为 true,则该复选框将已被选中。
    【解决方案2】:

    你需要导入FormsModule

    import { FormsModule, ReactiveFormsModule } from '@angular/forms'
    
    @NgModule({
    imports: [ BrowserModule ,FormsModule],
    declarations: [ App ],
    bootstrap: [ App ]
    })
    

    WORKING DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-14
      • 2020-07-10
      • 2019-08-16
      • 1970-01-01
      • 2017-12-26
      • 2019-06-12
      • 2021-12-04
      • 1970-01-01
      相关资源
      最近更新 更多