2016-12-04 4 views
0

Код внутри моего блока конфигурации angularjs не выполняется. Я уже проверял подобные вопросы в stackoverflow, и ничто не помогло мне. Я уже проверил две возможные ошибки. 1) Отсутствует ng-приложение в html.угловой конфигурационный блок, который не называется

2) Переопределение модуля.

Я не уверен, что случилось. Я вижу, что точка останова идет к этой строке, но она не входит в этот блок. Я также не вижу ошибок на консоли. Он просто молча игнорирует это. Даже если я изменил $ locationProvider на $ locationProvider1, он не даст никаких ошибок.

myLittleApp .config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 

index.html

<html class="no-js" ng-app="littleapp"> 

</html> 

app.js

'использовать строгий';

var angular = require('angular'); 

require('angular-ui-router'); 

require('angular-ui-bootstrap'); 

var myLittleApp = angular.module('littleapp', [ 
    'ui.router', 
    'ui.bootstrap', 
    require('./modules/firm').name 
]); 

myLittleApp .config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
console.log('test'); 
}]); 
+0

Только мысль, Вы уверены, что 'требуют ('./ модули/фирма'). Name' работает правильно? Не уверен, но я ожидал бы, что блоки .config будут оцениваться в порядке их зависимостей (так что блок конфигурации для 'littleapp' не будет выполняться перед блоком для'./Modules/firm'). Что произойдет, если вы удалите это требование? – Daniel

+0

Я тоже это пробовал. не повезло. Я вижу, что это исключает этот код из библиотеки angularjs. – user911

+0

if (isUndefined (event.immediatePropagationStopped)) { var originalStopImmediatePropagation = event.stopImmediatePropagation; event.stopImmediatePropagation = function() { event.immediatePropagationStopped = true; если (event.stopPropagation) { event.stopPropagation(); } если (оригинальныйStopImmediatePropagation) { оригинальныйStopImmediatePropagation.call (event); } }; – user911

ответ

0

В соответствии с кодом, который вы указали, у вашего кода есть пробел между именем переменной приложения и функцией конфигурации. Я удалил его. Попробуйте снова. Я также переместил firmModule за пределы модуля приложения. Еще одна вещь, попробуйте следовать Руководству по стилю Джона Папаса.

Также вы можете поделиться кодом .modules/firm, чтобы узнать, как вы экспортируете модуль?

var angular = require('angular'); 

require('angular-ui-router'); 

require('angular-ui-bootstrap'); 

var firmModule = require('./modules/firm').name; 

var myLittleApp = angular.module('littleapp', [ 
    'ui.router', 
    'ui.bootstrap', 
    firmModule 
]); 

myLittleApp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
    console.log('test'); 
}]); 
+0

btinoco - это пространство было добавлено при копировании кода здесь. Это не существует в моей среде. Я также прокомментировал код .modules/firm. Это все еще не работает. Спасибо за указатель на руководство по стилю папы. – user911

0

Я смог решить эту проблему самостоятельно. Проблема заключалась в ng-app в html-файле. Он должен быть атрибутом тега body вместо тега html.

неправильно

<html class="no-js" ng-app="littleapp"> 
<body> 
</body> 
</html> 

Правильная

<html class="no-js" > 
<body ng-app="littleapp"> 
</body> 
</html> 
+0

не верно, вы можете также использовать ng-app в элементе html. Проверьте этот plunkr, чтобы увидеть https://plnkr.co/edit/tpl:CR2TtS1zz9wFGgsl5z2c?p=preview. Просто знать, что такое «нет-js»? – btinoco

Смежные вопросы