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

angular 2 - checkbox "checked" depend on function not on property biind

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

这很容易,但不可能:

<input type="checkbox" ([ngModel])="category.selected">

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

<input type="checkbox" [attr.checked]="isCategorySelected(category.id)"/>

我需要这样的结果

<input type="checkbox">
<input type="checkbox" checked>

取决于结果isCategorySelected(id)

感谢任何帮助。

您不能在这种情况下使用 [(ngModel)],因为它定义了一个双向数据绑定,而您正在传递一个函数。

相反,您可以简单地使用 [ngModel],就像下面的代码片段一样。此语法定义了一种单向数据绑定。

<input type="checkbox" [ngModel]="yourBooleanFunction()"/>

您可以阅读更多关于 ngModel here

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