我正在使用 RequireJs、AngularUI 和 jQuery UI 构建一个 AngularJS 应用程序。
使用滑块时偶尔会出现以下错误:
TypeError: Object [object Object] 没有方法'slider'
在初始化(http://example.com/Assets/js/lib/angular-ui/slider.js?v=635137928871837150:18:29)
在 ngModel.$render (http://example.com/Assets/js/lib/angular-ui/slider.js?v=635137928871837150:55:25)
在对象。(http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:140:131)
在 Object.e.$digest (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:86:286)
在 Object.e.$apply (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:88:506)
在 e (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:95:38)
在 p (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:98:123)
在 XMLHttpRequest.t.onreadystatechange (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:99:259)
angular.min.js?v=635137928871837150:62
(匿名函数)angular.min.js?v=635137928871837150:62
(匿名函数)angular.min.js?v=635137928871837150:52
e.$digest angular.min.js?v=635137928871837150:87
e.$apply angular.min.js?v=635137928871837150:88
e angular.min.js?v=635137928871837150:95
p angular.min.js?v=635137928871837150:98
t.onreadystatechange angular.min.js?v=635137928871837150:99
如果我刷新页面,错误就会消失,而且它只会偶尔发生。
我在用:
- 需要 2.1.8.js 版本
- 当前版本的 Angular Ui 滑块 ( https://github.com/angular-ui/ui-slider/blob/master/src/slider.js )
我的 Require Config 的相关部分是:
需要.config({
垫片:{
jqueryui:{
部门:['jquery']
},
“角度”:{“出口”:“角度”},
angularResource: { deps: ['angular'] },
angularMocks: { deps: ['angular'] },
angularSortable: { deps: ['angular', 'jquery', 'jqueryui'] },
angularSlider: { deps: ['angular', 'jquery', 'jqueryui'] }
},
路径:{
角度:'/Assets/js/lib/angular-1.0.7/angular.min',
angularResource: '/Assets/js/lib/angular-1.0.7/angular-resource.min',
angularMocks: '/Assets/js/lib/angular-1.0.7/angular-mocks',
angularSortable: '/Assets/js/lib/angular-ui/sortable',
angularSlider: '/Assets/js/lib/angular-ui/slider',
jquery: '/Assets/js/lib/jquery-1.9.1.min',
jqueryui: '/Assets/js/lib/jquery-ui-1.10.0'
}
});
我正在像这样引导我的应用程序:
要求(['要求','jquery','jqueryui','angular','angularResource','angularSortable','angularSlider'],
功能(需要,$,jqueryui,角度){
'使用严格';
var contentApp = angular.module('testApp', ['ngResource', 'ui.sortable', 'ui.slider']);
要求(['TestController'],
功能 () {
$(文档).ready(函数 () {
var $angularRootElement = $('#wrapper');
angular.bootstrap($angularRootElement, [contentApp['name']]);
$angularRootElement.addClass('ng-app');
});
});
}
);
我认为问题是在 Angular UI 滑块代码运行之前偶尔没有加载 jQuery UI。虽然,我可以在 Chrome 的网络选项卡中看到 jQuery UI 是在滑块之前下载的。
谁能给我一些关于如何调试的想法?
谢谢