Knockout.js KnockoutJS如何观察对象属性?

Knockout.js KnockoutJS如何观察对象属性?,knockout.js,Knockout.js,我想在更改复选框状态后更改可见属性 我的代码(不工作): JS: HTML: 元素是根! 我做错了什么?对象必须是可见的: var Item = function (data) { var self = this; self.name = ko.observable(''); self.is_root = ko.observable(true); if (data != null) { self.name(data.name);

我想在更改复选框状态后更改可见属性

我的代码(不工作):

JS:

HTML:

元素是根!

我做错了什么?

对象必须是可见的:

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:


元素是根!

是_root
必须是
ko。可观察(真)
。任何想要成为“动态”的属性都应该是可观察的。
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}));
<div data-bind="with: selectedItem">
    <span data-bind="visible: is_root">element is root!</span>
    <input type="checkbox" data-bind="checked: is_root">
</div>