我正在升级到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>
相关的viewmodel:
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;
});
加载页面时,我看到正确的数字。然后我可以清楚地看到控制台中的点击工作,但屏幕上没有更新。
答案 0 :(得分:0)
好的,我终于找到了答案。在main.js中,缺少这两行:
define('jquery', function() { return jQuery; });
define('knockout', ko);