我有一个关于 flashmessages 的指令
'use strict';
angular.module('diplomovaPraceFrontendApp')
.directive('flashMessages', () ->
directive:
restrict: 'E'
replace: true
template: '<div ng-repeat="m in messages" id="flash-messages">' +
'<div class="alert {{m.level}}">' +
'<span class="">{{m.text}}</span>' +
'</div>' +
'</div>'
controller: ($scope, $rootScope) ->
$rootScope.$on('flash:message', (_, messages, done) ->
$scope.messages = messages
done()
)
)
当我调用我的控制器 $rootScope.$emit('flash:message', messages, someFunction); 它没有被指令中设置的 $rootScope.$on() 捕获,尽管如果我把它放在 application.run() 中它可以正常工作。
有什么我想念的想法吗?感谢您的任何建议
我已经编辑了这个问题:
我当然使用共享服务,这是我的代码http://pastie.org/private/es25rvo0zvejuw9yx3acja(对不起,gist.github.com 对我来说似乎坏了 atm)
我正在关注本教程http://chiragchamoli.com/post/61277736964/building-a-flash-message-with-angular-js
虽然它似乎根本没有调用该指令,因为 replace 设置为 true 并且我仍然<flash-messages>
在代码检查器中看到。
Plunkr 版本:http ://plnkr.co/edit/buRaguEyTMuhUM9Z4Jsw?p=preview