angular 2 - 复选框"checked"取决于函数而不是属性biind

Phi*_*ipp 3 checkbox checked angular2-forms angular

我有一个复选框,需要根据函数结果显示为选中,而不是将其绑定到对象属性.

这很容易,但不可能:

<input type="checkbox" ([ngModel])="category.selected">
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为甚至会checked="false"导致复选框显示为已选中:

<input type="checkbox" [attr.checked]="isCategorySelected(category.id)"/>
Run Code Online (Sandbox Code Playgroud)

我需要这样的结果

<input type="checkbox">
<input type="checkbox" checked>
Run Code Online (Sandbox Code Playgroud)

取决于结果isCategorySelected(id).

任何帮助表示赞赏.

Ale*_*ges 5

您无法[(ngModel)]在此方案中使用,因为它定义了一个双向数据绑定,并且您正在传递一个函数.

相反,您可以简单地使用[ngModel],如下面的代码段.此语法定义单向数据绑定.

<input type="checkbox" [ngModel]="yourBooleanFunction()"/>
Run Code Online (Sandbox Code Playgroud)

你可以ngModel 在这里阅读更多信息.

如果您有任何其他问题,请告诉我.