【问题标题】:Multiple functions on knockout view model淘汰视图模型上的多个功能
【发布时间】:2012-01-18 15:42:46
【问题描述】:

是否可以向淘汰视图模型添加多个功能?当我使用时:

var viewModel = {
    filters: ko.observableArray([]),
    addFilter: function() {
        // some code
    }
};

只要我添加另一种方法,它就可以正常工作:

var viewModel = {
    filters: ko.observableArray([]),
    addFilter: function() {
        // some code
    },
    copyFilter: function() {
        // some code
    }
};

一切都停止工作。我还尝试扩展淘汰网站上的示例以使用多个功能,但同样的事情也发生在他们身上。

那么有人知道如何向视图模型添加多个功能吗?

编辑:可能应该提到,我得到的错误是'copyFilter is undefined',但它绝对不是

【问题讨论】:

  • 这段代码没问题。你的问题可能在别处。
  • 不,我不这么认为,如果你只看一个样本并在其视图模型中添加另一个函数,它也会停止工作

标签: javascript mvvm knockout.js


【解决方案1】:

KO 不在乎您的视图模型是否具有多个功能。

您的问题存在于其他地方,可能在函数本身内部。检查浏览器的输出是否有 javascript 错误。还可以尝试将这些函数设为空函数,以验证这些函数内部是否存在 javascript 错误。

【讨论】:

  • 问题出在我试图调用该函数的位置。显然你不能在模板中绑定到视图模型上的函数
  • Erm,您可以在 KO 模板中绑定到 VM 上的函数。您只需要了解模板中的上下文。如果您对此有疑问,我建议您提出一个新问题,我可以为您提供帮助。
  • 您好,如果我使用的是 rails 3,它使用资产管道来组合所有 Javascript,这是否意味着我的整个应用程序只能有一个视图模型。如果没有,我如何指定哪个视图模型与哪个视图绑定?在教程代码中,看起来每页绑定了一个视图模型,但这在 Rails 中不起作用,因为所有 JS 都是在第一页加载时加载的。
猜你喜欢
  • 2012-11-29
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 2016-01-27
  • 2016-08-22
  • 2012-11-30
  • 2013-06-07
  • 2013-01-15
相关资源
最近更新 更多