-1

我正在升级到 Durandal 2.0,但遇到了一个奇怪的问题。我可以浏览我的网站,而且大多数事情都有效。除此之外,当调用视图时,绑定在激活后应用一次,仅此而已。之后,不应用任何绑定:不在附加的钩子中,也不在compositionComplete. 在第一次申请之后的任何时候,什么都没有发生。我有一个搜索页面,我可以看到浏览器中的结果,但绑定不显示它们。

这是一个很大的应用程序,我很难复制。有没有人有类似的问题?

这是一个非常简单的测试视图,我有它的 pb:

<section id="test-view" class="view"">

<h3 class="page-title" data-bind="text: v()"></h3>

<div data-bind="click: update">Update</div>

以及相关的视图模型:

define(
function () {

    var v = ko.observable(Date.now());

    var activate = function() {    
    };

    var update = function () {
        console.log('update');
        console.log(Date.now());
        v(Date.now())
    }

    var vm = {
        v: v,
        update: update
    };
    return vm;
});

加载页面时,我看到了正确的数字。然后我可以清楚地看到控制台中的点击工作,但屏幕上没有更新。

4

1 回答 1

0

好的,我终于找到了答案。在 main.js 中,缺少这两行:

define('jquery', function() { return jQuery; });
define('knockout', ko);
于 2013-09-09T09:32:15.843 回答