Это потенциально проблема с угловым выражением, но я подозреваю, что она больше связана с общим JS. Я настраиваю приложение «Угловое», и пока все работает хорошо.JS-скрипт не работает, если он завернут в IIFE (угловой)
Я сломал его в различные модули app
, app.core
, app.components
и т.д.
я наткнулся нечетным вопрос сейчас, когда я попытался создать директиву для использования во всех модулях, и я немного озадачен на этом. Я могу получить эту работу, как и положено, с шаблоном отображаются на мой взгляд:
'use strict';
angular.module('app.components')
.directive('navBar', function() {
return {
controller: 'Main',
controllerAs: 'vm',
link: function(){
console.log('Directive link')
},
template: 'Directive template'
};
});
Однако, когда я оберните его в IIFE:
(function() {
'use strict';
angular.module('app.components')
.directive('navBar', function() {
return {
link: function(){
console.log('Directive link')
},
template: 'Directive template'
};
});
});
Он выходит из строя, причудливо. Все мои другие модули написаны так же, как и второй пример, и отлично работают.
Любое руководство высоко ценится.
Спасибо,
Dave
Этот фрагмент кода никогда фактически вызывается. Чего вы ожидаете? Вы имели в виду IIFE (http://en.wikipedia.org/wiki/Immediately-invoked_function_expression)? –
Просто вызовите функцию: (function() {...})(); – pixelbits
Сообщение обновлено до IIFE. Спасибо :-) – iamdash