ПРЕДУПРЕЖДЕНИЕ. Попытка загрузки под углом более одного раза во время загрузки страницы

0

Я получаю это предупреждение в одном из моих проектов. Это вызывает проблемы при вызове моего backend api, поскольку он вызывает api дважды. Я пробовал решения, которые были опубликованы ранее, касаясь этого же вопроса на форуме, но я не могу это преодолеть. Было бы здорово, если бы кто-то мог помочь мне в этом. Ниже приведены файлы app.js и index.html.

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Qwinix Aptitude Test</title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width">
  <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
  <!-- build:css(.) styles/vendor.css -->
  <!-- bower:css -->
  <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
  <!-- endbower -->
  <!-- endbuild -->
  <!-- build:css(.tmp) styles/main.css -->
  <link rel="stylesheet" href="styles/styles.css">
  <link rel="stylesheet" type="text/css" href="styles/question/normalize.css" />
  <link rel="stylesheet" type="text/css" href="styles/question/demo.css" />
  <link rel="stylesheet" type="text/css" href="styles/question/component.css" />
  <!-- <link rel="stylesheet" type="text/css" href="bower_components/font-awesome/css/font-awesome.min.css" /> -->
  <!-- <link rel="stylesheet" type="text/css" href="bower_components/semantic/dist/semantic.css"> -->
  <link rel="stylesheet" type="text/css" href="styles/scss/style.scss">
  <!-- <link rel="stylesheet" type="text/css" href="components/angular-ui/build/angular-ui.css"> -->

  <!-- endbuild -->
</head>

<body data-ng-view="" ng-app="onlineTestAngularApp">
  <!-- build:js(.) scripts/vendor.js -->
  <!-- bower:js -->
  <script src="bower_components/jquery/dist/jquery.js"></script>
  <script src="bower_components/angular/angular.js"></script>
  <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
  <script src="bower_components/angular-animate/angular-animate.js"></script>
  <script src="bower_components/angular-aria/angular-aria.js"></script>
  <script src="bower_components/angular-cookies/angular-cookies.js"></script>
  <script src="bower_components/angular-messages/angular-messages.js"></script>
  <script src="bower_components/angular-resource/angular-resource.js"></script>
  <script src="bower_components/angular-route/angular-route.js"></script>
  <script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
  <script src="bower_components/angular-touch/angular-touch.js"></script>
  <script src="bower_components/angular-local-storage/dist/angular-local-storage.js"></script>
  <script src="bower_components/moment/moment.js"></script>
  <script src="bower_components/humanize-duration/humanize-duration.js"></script>
  <script src="bower_components/angular-timer/dist/angular-timer.js"></script>
  <script src="bower_components/semantic/dist/semantic.js"></script>
  <script src="bower_components/angular-fontawesome/dist/angular-fontawesome.js"></script>
  <script src="bower_components/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js"></script>
  <!-- endbower -->
  <!-- endbuild -->

  <!-- build:js({.tmp,app}) scripts/scripts.js -->
  <script src="scripts/app.js"></script>
  <script src="scripts/config.js"></script>
  <script src="scripts/controllers/main.js"></script>
  <script src="scripts/controllers/about.js"></script>
  <script src="scripts/controllers/registration.js"></script>
  <script src="scripts/services/registration.js"></script>
  <script src="scripts/controllers/question.js"></script>
  <script src="scripts/controllers/feedback.js"></script>
  <script src="scripts/services/feedback.js"></script>
  <script src="scripts/services/question.js"></script>
  <script src="scripts/controllers/index.js"></script>
  <script src="scripts/controllers/instruction.js"></script>
  <script src="scripts/services/admin.js"></script>
  <script src="scripts/controllers/admin.js"></script>
  <script src="scripts/my_jquery.ui.js"></script>
  <script src="scripts/lib/angular-timer.js"></script>
  <!-- endbuild -->
</body>
</html>

'use strict';

/**
 * @ngdoc overview
 * @name onlineTestAngularApp
 * @description
 * # onlineTestAngularApp
 *
 * Main module of the application.
 */
angular
  .module('onlineTestAngularApp', [
    'ngAnimate',
    'ngAria',
    'ngCookies',
    'ngMessages',
    'ngResource',
    'ngRoute',
    'ngSanitize',
    'ngTouch',
    'LocalStorageModule',
    'config',
    'timer'
  ])
  .config(function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/registration.html',
        controller: 'registrationCtrl',
        controllerAs: 'registration'
      })
      .when('/instruction', {
        templateUrl: 'views/instruction.html',
        controller: 'instructionCtrl',
        controllerAs: 'instruction'
      })
      .when('/question', {
        templateUrl: 'views/question.html',
        controller: 'questionCtrl',
        controllerAs: 'question'
      })
      .when('/feedback', {
        templateUrl: 'views/feedback.html',
        controller: 'feedbackCtrl',
        controllerAs: 'feedback'
      })
      .when('/admin', {
        templateUrl: 'views/admin.html',
        controller: 'adminCtrl',
        controllerAs: 'admin'
      })
      .otherwise({
        redirectTo: '/'
      });
  });
  • 0
    Вы намеревались включить 2 разных скрипта с именем angular-timer.js?
  • 0
    @jbrown выглядит так, как он, но я не думаю, что это является причиной его ошибки ....? это?
Показать ещё 7 комментариев

4 ответа

0

Я получил эту ошибку, когда мой templateUrl был установлен в пустую строку, и ни один другой шаблон не был определен в вложенном state как показано ниже.

app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
  $urlRouterProvider.otherwise('/');
  $stateProvider
    .state('main', {
      abstract: true,
      url: '',
      templateUrl: '/app/main/wrapper.html'
    })
    .state('main.welcome', {
      controller: '',
      templateUrl: '', // Causes WARNING: Tried to load angular more than once.
      url: '/'
    });
}]);

После того, как я изменил templateUrl 'main.welcome' на 'main.welcome' я больше не получил потепление.

.state('main.welcome', {
  controller: '',
  templateUrl: '/app/main/welcome.html',
  url: '/'
});
0

Я видел сообщение "ПРЕДУПРЕЖДЕНИЕ: пытался загрузить угловой более одного раза", когда jQuery включен в ссылки на скрипт перед Angular. Если вы повторно заказываете скрипт, проблема должна быть решена.

Пример демонстрации проблемы. Вы можете видеть разрешение, комментируя верхнюю ссылку jQuery и раскомментируя нижнюю:

  'use strict';

  /**
   * @ngdoc overview
   * @name onlineTestAngularApp
   * @description
   * # onlineTestAngularApp
   *
   * Main module of the application.
   */
  angular.module('onlineTestAngularApp', [
      'ngRoute'
    ])
    .config(function($routeProvider) {
      $routeProvider
        .when('/', {
          template: '<h3>Test Angular App</h3><a ng-href="#/instruction">{{home.linkText}}</a>',
          controller: 'homeCtrl',
          controllerAs: 'home'
        })
        .when('/instruction', {
          template: '<h3>Instruction Route</h3><a ng-href="#/">{{ins.linkText}}</a>',
          controller: 'instructionCtrl',
          controllerAs: 'ins'
        })
        .otherwise({
          redirectTo: '/'
        });
    });

  angular.module('onlineTestAngularApp')
    .controller('homeCtrl', homeCtrl)
    .controller('instructionCtrl', instructionCtrl);

  homeCtrl.$inject = ['$log'];

  function homeCtrl($log) {
    var vm = this;
    vm.linkText = "Link to Instruction Page";
    $log.debug(vm);
  }

  instructionCtrl.$inject = ['$log'];

  function instructionCtrl($log) {
    var vm = this;
    vm.linkText = "Home Link";
    $log.debug(vm);
  }
<!DOCTYPE html>
<html>

<head>
  
</head>
<body data-ng-view="" ng-app="onlineTestAngularApp">
  <!-- jQuery here causes "WARNING: Tried to load angular more than once"
       Comment this reference out and uncomment the one below to see the difference
     -->
  <!-- -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
  <script src="https://code.angularjs.org/1.4.9/angular.js"></script>
  <!-- jQuery referenced AFTER Angular resolves issue with warning message
      UNCOMMENT this one  -->
  <!-- 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js></script>
    -->

  <script src="https://code.angularjs.org/1.4.9/angular-route.js"></script>

</body>

</html>
0

я не знаю, почему это происходит для вас, но я знаю, когда это произойдет, когда этот файл angular.js будет вызван более одного раза, тогда мы получим это. Иногда это может быть вызвано вызовом некоторых других js файлов, которые будут представлять или повторно ссылаться на angular.js file.please проверьте, что так уверен, вы избавитесь от этого.

0

Проверьте, также ли вы инициализировали модуль в своем контроллере.

В коде вы не храните модуль, созданный в любой переменной (в глобальном пространстве имен). Вы привязываете все к самому модулю, поэтому есть шансы при создании контроллера, который вы сначала создаете модуль, а затем привязываете его, как показано ниже.

angualr.module('app',[]).controller('ctrl',function(){});

Это приведет к инициализации приложения два раза.

Чтобы избежать этого, вы можете либо сохранить модуль, созданный в app.js, в переменной, а затем использовать эту переменную для создания ваших контроллеров.

ИЛИ

Если вы решили создать их с помощью цепочки, просто опустите [], создавая контроллер из модуля, как показано ниже.

angualr.module('app').controller('ctrl',function(){});

Если вы создаете модуль без использования [] угловых первых поисков модуля с похожим именем, если он найдет его, он использует этот модуль, иначе создаст его.

  • 0
    ооо. удаляя мой ответ, звучит так, что это очень вероятные сценарии для вас @PraveenMenon

Ещё вопросы

Сообщество Overcoder
Наверх
Меню