2

下面是一个热毛巾视图模型。我试图弄清楚在哪里以及如何进行 jquery 调用

define(['services/logger'], function (logger) {
    var vm = {
        activate: activate,
        title: 'Applications'
    };

    return vm;

    //#region Internal Methods
    function activate() {
        logger.log('Applications', null, 'applications', true);
        return true;
    }
    //#endregion
});
4

2 回答 2

3

我想知道的是“为什么要在 ViewModel 中使用 jQuery?” jQuery 用于 DOM 操作。好吧,我们已经通过绑定为我们解决了这个问题。我们不应该需要 jQuery。在 ViewModel 中使用 jQuery 通常(并不总是)是一种代码异味。我的经验法则是“如果我使用 jQuery,我做错了”。

于 2013-03-14T08:36:10.540 回答
2

取决于你希望它在哪里运行。如果您希望 jquery 代码在 viewmodel 激活时执行,则将其放在 activate 方法中。如果您希望它运行一次,则在创建视图模型时,将其放在 return 语句之前。

于 2013-03-13T22:45:46.580 回答