我有:
userAccess
目的:
var userAccess = new (
function() {
this.userLogedIn = false;
}
);
我有模型视图,绑定到 UI
var modelview = new (
function(){
this.itemVisible =
function(data) {
if(data.id === "ID2")
return userAccess.userLogedIn;
return true;
};
this.items = [{id:"ID1", text:"text1"}, {id:"ID2", text:"text2"}];
}
);
在 UI 上,内部foreach
绑定我有:
<span data-bind="text: text, visible:$parent.itemVisible($data)"> </span>
所以元素的可见性绑定到's 函数。span
modelview
该函数根据其和 的值确定当前项目的可见性。ID
userAccess
问题:
在这种情况下,双向绑定不起作用。例如,如果我使userAccess.userLogedIn = true
元素“ID2”不可见。
这是因为缺少observable
,但在我看来,我不能在这种模式中拟合一个可观察的。
我也知道我可以手动更新绑定,但如果可能的话,我想避免这种情况。
我觉得我在这里遗漏了一些明显的东西。