0

RequireJs、AngularUI、jQuery UI を使用して AngularJS アプリケーションを構築しています。

スライダーを使用すると、次のエラーが発生することがあります。

TypeError: オブジェクト [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

ページを更新すると、エラーはなくなり、とにかくたまにしか発生しません。

私は使っている:

私のRequire Configの関連部分は次のとおりです。

require.config({
    シム: {
        jqueryui: {
            deps: ['jquery']
        }、
        'angular': { 'exports': 'angular' },
        angularResource: { deps: ['angular'] },
        angularMocks: { deps: ['angular'] },
        angularSortable: { deps: ['angular', 'jquery', 'jqueryui'] },
        angularSlider: { deps: ['angular', 'jquery', 'jqueryui'] }
    }、
    パス: {
        angular: '/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'
    }
});

次のようにアプリケーションをブートストラップしています。

require(['require', 'jquery', 'jqueryui', 'angular', 'angularResource', 'angularSortable', 'angularSlider'],
    function (require, $, jqueryui, angular) {

        '厳密を使用';

        var contentApp = angular.module('testApp', ['ngResource', 'ui.sortable', 'ui.slider']);

        require(['TestController'],
            関数 () {
            $(document).ready(function () {
                var $angularRootElement = $('#wrapper');

                angular.bootstrap($angularRootElement, [contentApp['name']]);

                $angularRootElement.addClass('ng-app');
            });
        });
    }
);

問題は、Angular UI スライダー コードが実行される前に jQuery UI がロードされない場合があることだと思います。ただし、Chrome のネットワーク タブで、スライダーの前に jQuery UI がダウンロードされていることがわかります。

これをデバッグする方法について、誰かにアイデアを教えてもらえますか?

ありがとう

4

0 に答える 0