Note that there are some explanatory texts on larger screens.

plurals
  1. POAngular UI slider with Require JS fires before jQuery UI
    primarykey
    data
    text
    <p>I am building an AngularJS application using RequireJs, AngularUI and jQuery UI.</p> <p>I occasionally get the following error when using the slider:</p> <pre> TypeError: Object [object Object] has no method 'slider' at init (http://example.com/Assets/js/lib/angular-ui/slider.js?v=635137928871837150:18:29) at ngModel.$render (http://example.com/Assets/js/lib/angular-ui/slider.js?v=635137928871837150:55:25) at Object. (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:140:131) at Object.e.$digest (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:86:286) at Object.e.$apply (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:88:506) at e (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:95:38) at p (http://example.com/Assets/js/lib/angular-1.0.7/angular.min.js?v=635137928871837150:98:123) at 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 (anonymous function) angular.min.js?v=635137928871837150:62 (anonymous function) 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 </pre> <p>If I refresh the page the error goes away and it only happens occasionally anyway.</p> <p>I am using:</p> <ul> <li>Require version 2.1.8.js</li> <li>Current version of Angular Ui Slider (<a href="https://github.com/angular-ui/ui-slider/blob/master/src/slider.js" rel="nofollow">https://github.com/angular-ui/ui-slider/blob/master/src/slider.js</a>)</li> </ul> <p>The relevant parts of my Require Config are:</p> <pre> require.config({ shim: { jqueryui: { deps: ['jquery'] }, 'angular': { 'exports': 'angular' }, angularResource: { deps: ['angular'] }, angularMocks: { deps: ['angular'] }, angularSortable: { deps: ['angular', 'jquery', 'jqueryui'] }, angularSlider: { deps: ['angular', 'jquery', 'jqueryui'] } }, paths: { 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' } }); </pre> <p>I am bootstrapping my application like so:</p> <pre> require(['require', 'jquery', 'jqueryui', 'angular', 'angularResource', 'angularSortable', 'angularSlider'], function (require, $, jqueryui, angular) { 'use strict'; var contentApp = angular.module('testApp', ['ngResource', 'ui.sortable', 'ui.slider']); require(['TestController'], function () { $(document).ready(function () { var $angularRootElement = $('#wrapper'); angular.bootstrap($angularRootElement, [contentApp['name']]); $angularRootElement.addClass('ng-app'); }); }); } ); </pre> <p>I presume the problem is that occasionally jQuery UI hasn't loaded before the Angular UI slider code runs. Although, I can see in the network tab in Chrome that jQuery UI was downloaded before the slider.</p> <p>Can anyone give me some ideas on how to debug this?</p> <p>Thanks</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload