Knockout observable——为什么这个值会自动更新?



我有一个名称数组,我用它来填充FilterBy单选按钮列表。

filterBy = ko.observableArray(["Aaa", "Bbb", "Ccc"]);
selectedFilter = ko.observable("Aaa");

我像这样显示FilterBy单选按钮列表,

<div data-bind="foreach: filterBy">
    <input type="radio" name="filterby" data-bind="value: $data, checked: $parent.selectedFilterBy" /><span data-bind="text: $data"></span>
</div>

我有两个按钮-提交和取消。在提交点击,我得到选中的单选按钮,并将其值分配给'selectedFilterBy',并做过滤/更新等。在取消点击,我想要恢复选定的过滤器。我只是注意到selectedFilterBy的值在我选择每个单选按钮时正在更新。我没想到'selectedFilterBy'会自动更新。

知道为什么吗?

谢谢。

检查绑定已经设置为更新模型$parent.selectedFilterBy。因此,每当单击单选按钮时,选中的绑定就会被调用,并且由于Knockout是双向绑定,它将更新指定的变量。

当用户更改所选的单选按钮时,KO将设置您的模型属性为等于所选的单选按钮的值"

最新更新