我试图了解淘汰赛 3.2 组件,但我被卡住了。
我有一个组件“客户”
ko.components.register("customers", {
viewModel: function (params) {
var self = this;
this.customers = ko.observableArray();
this.selectedCustomerId = ko.observable(1);
this.selectCustomer = function (data) {
selectedCustomerId(data.Id);
};
$.getJSON('http://localhost:49435/Customer/GetCustomers', this.customers);
},
template: "<div><table class=\"table table-condensed table-responsive\"><thead><tr><th>Customer ID</th><th>Name</th><th>City</th></tr></thead><tbody data-bind=\"foreach: customers\"><tr><td data-bind=\"text: Id\"></td><td data-bind=\"text: Name, click: $root.selectCustomer\"></td><td data-bind=\"text: City\"></td></tr></tbody></table></div>"
});
但是在绑定时,我收到以下错误:
无法处理绑定“点击:函数(){return $root.selectCustomer}”消息:无法读取未定义的属性“selectCustomer”
接下来我要做的是selectedCustomerId
与另一个组件通信。这是否可能使用 PubSub 同步以及这如何可能。有人可以给我一个提示从哪里开始。