我有一個非常簡單的例子,它不工作。Knockout.js:函數參數undefined
的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作爲屬性,以便我可以用任何具有可觀察名稱屬性的對象調用此函數
代碼說明: 這是通過knockout.js使用揭示模塊模式完成的。 Name屬性是一個ko.observable() - 所以需要()。
問題:爲什麼x undefined?
現在我明白了!保護你。我認爲我可以使用ko.computed函數作爲參考。好吧,因爲Name屬性已經是一個ko.observable函數,我不需要ko.computed - >結果:http://jsfiddle.net/ThomasDeutsch/8hzhp/6/ –
正如你現在正在返回一個可觀察的,你也可以刪除()並且只是:'return x.Name;'。文本綁定知道如何使用observable。 –
好極了。這就對了 –