我想在knockout.js源代码中询问声明的目的。谢谢。
ko.observable = function (initialValue) {
var _latestValue = initialValue;
function observable(newValue) {
return _latestValue;
}
observable.__ko_proto__ = ko.observable; **// <-- what's the purpose of this line??**
ko.subscribable.call(observable);
return observable;
}
答案 0 :(得分:2)
我看到它有用的一点是测试可观察的属性。在这里找到 Determine if an object property is ko.observable
答案 1 :(得分:1)
__ko_proto__
属性是Knockout知道某些东西是可观察的。大多数绑定可以接受可观察值或普通值,并使用ko.unwrap
来获取实际值。 ko.unwrap
使用ko.isObservable
来检查__ko_proto__
属性。