2017-06-19 7 views
0

チェックボックスの状態を変更した後にvisibleプロパティを変更したい。KnockoutJSオブジェクトのプロパティを観察するには?

私のコード(動作しない):

JS:

self.selectedItem = ko.observable({name:'myName', is_root: true}) 

はHTML:

<span data-bind="visible:selectedItem().is_root">element is root!</span> 
<input type="checkbox" data-bind="checked: selectedItem().is_root"> 

は私が間違って何をしているのですか?

+1

'is_root'は(真)' ko.observableなければなりません'。 「動的」にしたいプロパティはすべて「観測可能」である必要があります。 – user3297291

答えて

0

オブジェクトは、観察することがあります。

var Item = function (data) { 
    var self = this; 

    self.name = ko.observable(''); 
    self.is_root = ko.observable(true); 

    if (data != null) { 
     self.name(data.name); 
     self.is_root(data.is_root); 
    } 
} 

、あなたが呼び出します。

self.selectedItem = ko.observable(new Item({name:'myName', is_root: true})); 

HTML:

<div data-bind="with: selectedItem"> 
    <span data-bind="visible: is_root">element is root!</span> 
    <input type="checkbox" data-bind="checked: is_root"> 
</div> 
関連する問題