녹아웃 3.2 구성 요소를 이해하려고하는데 막혔습니다. 녹아웃 구성 요소의 기능 (knockoutjs 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>"
});
그러나이 바인딩 할 때, 나는 다음과 같은 오류를 얻을 : 나는 다른 구성 요소에 selectedCustomerId
를 통신하고 싶은
Unable to process binding "click: function(){return $root.selectCustomer }" Message: Cannot read property 'selectCustomer' of undefined
다음 일. 이것은 PubSub 동기화를 사용하여 가능하며 어떻게 가능합니까? 누군가 나에게 시작할 곳을 알려 줄 수 있습니까?
어디서나 ko.applyBindings를 호출합니까? 그렇다면 매개 변수로 전달 된 모델은 $ root로 간주됩니다. $ root 대신 $ parent를 사용하십시오. –
This is ko 3.3 milestone https://github.com/knockout/knockout/issues/1449 – huocp