从knockout.js中的组件订阅父模型中的可观察性,可以通过以下步骤实现:
下面是一个示例代码:
// 父模型
function ParentModel() {
this.observableProperty = ko.observable();
}
// 组件
ko.components.register('my-component', {
viewModel: function(params) {
var self = this;
// 计算属性,订阅父模型中的可观察性属性
self.computedProperty = ko.computed(function() {
return params.parent.observableProperty();
});
},
template: '<div data-bind="text: computedProperty"></div>'
});
在上述示例中,父模型中定义了一个名为"observableProperty"的可观察性属性。组件中使用"ko.computed"函数创建了一个计算属性"computedProperty",并在其中订阅了父模型中的"observableProperty"。组件的HTML模板中使用"data-bind"指令将"computedProperty"绑定到一个div元素的文本内容上。
这样,当父模型中的"observableProperty"发生变化时,组件中的"computedProperty"也会自动更新,从而实现了从knockout.js中的组件订阅父模型中的可观察性。
领取专属 10元无门槛券
手把手带您无忧上云