1

我有一个非常简单的问题,但不明白我错过了什么。这是代码:

$(document).ready(function() {
var viewModel = {
    test: ko.observable(null)
}
var obj = {
    name: "name123"
}
viewModel.test(obj);    
ko.applyBindings(viewModel.test, document.getElementById("a"));
alert(viewModel.test.name());
});​

链接到 jsfiddle: http: //jsfiddle.net/bwkAB/ 为什么我无法获取 name 属性值?

更新:应该是 viewModel.test().name

4

1 回答 1

3

这是更正的jsfiddle,您需要使子对象属性可观察才能绑定到它。以及添加 with 绑定以帮助 HTML 中的范围

$(document).ready(function() {
    var viewModel = {
        test: ko.observable(null)
    }
    var obj = {
        name: ko.observable("name123")
    }
    viewModel.test(obj);    
    ko.applyBindings(viewModel);
    alert(viewModel.test().name());
});​
于 2012-12-29T20:32:59.533 回答