0

我正在使用 Revealing Module Pattern 在我的 knockout.js 代码中获取一些结构。这是一个非常简单的示例目标:返回 Object 的 Name-Property 的值。问题:函数参数 x 未定义。

http://jsfiddle.net/ThomasDeutsch/8hzhp/

这里到底有什么问题?请帮我解决这个问题。

4

2 回答 2

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 必须是函数,而不是函数的结果。可能框架(我不知道)调用函数(不带参数)以获得值。

于 2012-06-03T17:37:19.487 回答
0

I have the solution. The Problem was that i have not defined a function. ko.computed will not do the job. So this is the solution: Knockout.js: Function parameter undefined

于 2012-06-07T09:13:48.640 回答