我想说,我想通过require.js加载 jQuery.ui
我应该在垫片中等待什么对象? jQuery.ui? 不,不是真的。
在这种情况下,它将在评估第一行后运行 - $ .ui = $ .ui || {}; 并没有加载任何wigets。
下一步是什么。我试图等待 $。小部件。是的,这更好,因为$ .widget()是加载ui部分的基本函数。但是, $。ui.autocomplete 仍未定义。
嗯。 接下来要等什么?
我的一些代码只需要$ .widget,但是另一个代码必须等待预定义的小部件。
是否可以强制require.js等待多个对象并运行不同的回调或类似的东西?
编辑:或者甚至将多个值传递给依赖的模块? EDIT2:shim config:
shim: {
'moment_ru': {
deps: ['moment'],
init: function () { moment.lang('ru'); }
},
'knockout': {
exports: 'ko'
},
'knockout_mapping': {
deps: ['knockout'],
exports: 'ko.mapping'
},
'jquery_ui': {
deps: ['jquery' /*, 'jquery_widget'*/],
exports: '$.widget'
},
//'jquery_widget': {
// deps: ['jquery'],
// exports: '$.widget'
//},
'ya_maps': {
exports: 'ymaps'
},
'searchHint': {
deps: ['jquery', 'jquery_ui'],
exports: '$.fn.SearchHints'
}
}
在这种情况下,我有$ .widget存在,但$ .ui.autocomplete是未定义的 如果我做
'jquery_ui': {
deps: ['jquery'],
exports: '$.ui'
},
我有$ .widget undefined