私は持っています:
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>
したがって、要素の可視性はの関数にバインドされます。span
modelview
この関数は、の値と値に基づいて現在のアイテムの可視性を決定します。ID
userAccess
問題:
このシナリオでは、双方向バインディングは機能しません。たとえばuserAccess.userLogedIn = true
、要素「ID2」を表示しないようにするとします。
これは、の欠如によるものですobservable
が、私には、このパターンで観測量を適合させることができないようです。
バインディングを手動で更新できることも知っていますが、可能であればこれを避けたいと思います。
ここで明らかな何かが欠けているような気がします。