나는 작동하지 않는 아주 간단한 예가 있습니다.Knockout.js : 함수 매개 변수가 정의되지 않았습니다.
jsfiddle : http://jsfiddle.net/ThomasDeutsch/8hzhp/3/
// My Model
function Customer(id, name, lastname) {
this.Id = ko.observable(id);
this.Name = ko.observable(name);
this.LastName = ko.observable(lastname);
}
// My ViewModel
ViewModel = (function() {
var getName = ko.computed(function (x) {
return x.Name();
});
return {
getName: getName(new Customer(1, "Thomas", "D"))
};
})();
ko.applyBindings(ViewModel);
문제 :
목표를 정의되지 않는다 (x)를 매개 변수 : 호출 된 개체의 이름 속성을 반환 - 나는로 X를 사용하려면 속성을 사용하여 관찰 가능한 Name 속성이있는 모든 객체에서이 함수를 호출 할 수 있습니다.
코드 설명 : 이것은 knockout.js와 함께 revealing-module-pattern을 사용하여 수행됩니다. Name 속성은 ko.observable()이므로 -가 필요합니다.
질문 : x가 정의되지 않은 이유는 무엇입니까?
이제 알았습니다. 탱크를. 모자를 ko.computed 함수를 일종의 참조로 사용할 수 있다고 생각했습니다. Ok는 Name 속성이 이미 ko.observable 함수이므로 ko.computed -> 결과가 필요하지 않습니다. http://jsfiddle.net/ThomasDeutsch/8hzhp/6/ –
이제 observable을 반환하기 때문에 다음과 같이 제거 할 수도 있습니다. the() 그리고 그냥 :'return x.Name;'. 텍스트 바인딩은 관찰 대상을 다루는 방법을 알고 있습니다. –
예. 그게 다야. –