gpt4 book ai didi

knockout.js - Knockoutjs - 使用映射插件订阅

转载 作者:行者123 更新时间:2023-12-05 00:33:31 25 4
gpt4 key购买 nike

我正在使用 knockout 映射插件,以前我会像这样设置订阅

self.selectedProduct.subscribe(function (name) {

}
but I'm unsure of how to do this in this format below. The message I get is

“丢失:在属性 ID 之后”
 var viewModel = {

products: ko.mapping.fromJS([]),
productOptions: ko.mapping.fromJS([]),
productOptions.subscribe = function (name) {
alert('somthing change');
},
loadInitialData: function () {
ko.mapping.fromJS(serverData, viewModel.productOptions);
}
}

最佳答案

如果您将 View 模型定义为对象字面量,则不能像内联那样进行函数调用。您必须在创建 View 模型或以不同方式创建 View 模型后执行此操作。

如果你后来做了,那么它看起来像:

  var viewModel = {
products: ko.mapping.fromJS([]),
productOptions: ko.mapping.fromJS([]),
loadInitialData: function () {
ko.mapping.fromJS(serverData, viewModel.productOptions);
}
};

viewModel.productOptions.subscribe = function (name) {
alert('somthing change');
};

如果您使用构造函数创建 View 模型,则它看起来像:
var ViewModel = function() {
this.products = ko.mapping.fromJS([]);
this.productOptions = ko.mapping.fromJS([]);
this.productOptions.subscribe = function(name) {
alert("something change");
};

this.loadInitialData = function() {
ko.mapping.fromJS(serverData, this.productOptions);
};
};


var viewModel = new ViewModel();

关于knockout.js - Knockoutjs - 使用映射插件订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com