очень новый для углового; попытайтесь понять, почему эта директива не работает. Пожалуйста, укажите мне, какие понятия вы узнаете.директива: контроллер не является функцией
директива работала, когда я должен был выписать шаблон в виде строки, но это очень некрасиво и я хочу, чтобы поместить их в отдельный файл HTML.
в index.html
<div message-modal trigger="trigger_message_modal"></div>
Сообщение об ошибке: $scope.trigger_message_modal is not a function
в НЕ работают directives.js
app.module.directive('messageModal', function ($compile) {
return {
scope: {
trigger: "=trigger"
},
controller: ['$scope', '$element', '$attrs', '$timeout', function ($scope, $element, $attrs, $timeout) {
$scope.trigger = function(title, message, modal_class, color, auto_hide){
$scope.message = message;
$scope.modal_class = modal_class;
$scope.color = color;
$scope.title = title;
$('#messageWell').modal('show');
if(auto_hide == true){
$timeout(function(){
$('#messageWell').modal('hide');
}, 1000)
}
};
}],
restrict: "E",
templateUrl :"well.html"
};
});
Где вызывается '$ scope.trigger_message_modal'? Может ли это быть проблемой времени, когда функция запускается до того, как будет создан экземпляр контроллера директивы? – jchen86