我正在使用Revealing Module Pattern来获取knockout.js代码中的一些结构。 这是一个非常简单的例子 目标:返回Object的Name-Property的值。 问题:函数参数x未定义。
http://jsfiddle.net/ThomasDeutsch/8hzhp/
这究竟是什么问题? 请帮我把这个弄出来。
答案 0 :(得分:1)
也许你应该写
x.Name
而不是
x.getElementsByName('Name')
因为我没有看到x应该从哪里获取此方法,因为x不是文档树的元素。但我不是这方面的专家。
好的,这对我有用:
// 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 customer = new Customer(1, "Thomas", "D")
var getName = ko.computed(function () {
return customer.Name ();
})
;
return {
getName: getName
};
})();
ko.applyBindings(ViewModel);
return语句中的getName必须是函数,而不是函数的结果。可能框架(我不知道)调用函数(没有参数)以获取值。
答案 1 :(得分:0)
我有解决方案。 问题是我没有定义一个函数。 ko.computed不会做这个工作。所以这是解决方案: Knockout.js: Function parameter undefined