【发布时间】:2015-01-09 17:57:31
【问题描述】:
我们第一次加载 requirejs 模块时,我的视图模型中的 observables 似乎没有更新。但是当您评论 $("#ddl").select2(); 时,一切正常。
requirejs.config({
'paths': {
'jquery': '//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.0.min',
'ko': '//ajax.aspnetcdn.com/ajax/knockout/knockout-3.0.0',
'select2': '//ivaynberg.github.io/select2/select2-3.4.5/select2',
'domReady':
'//cdnjs.cloudflare.com/ajax/libs/require-domReady/2.0.1/domReady'
},
'shim': {
'select2': {
deps: ['jquery'],
exports: '$.select2'
}
}
});
define('simpleKo', ['jquery', 'ko', 'domReady', 'select2'],
function ($, ko, domReady) {
var simpleViewModel = function () {
var self = this;
self.name = ko.observable();
self.names = ko.observableArray(['John', 'Tim', 'Mike', 'Jay']);
};
domReady(function () {
ko.applyBindings(new simpleViewModel());
$("#ddl").select2({
width: 'resolve'
});
});
});
requirejs(['simpleKo']);
JSFiddle 上有一个实时示例,当您第一次打开没有缓存的链接时会失败。
我已经尝试了一切,有人对可能发生的事情有想法吗?
【问题讨论】:
标签: knockout.js requirejs jquery-select2 amd