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 は私にとって壊れているようです)
私はこのチュートリアルに従っていましたhttp://chiragchamoli.com/post/61277736964/building-a-flash-message-with-angular-js
replace が true に設定されていて<flash-messages>
、コードインスペクタにまだ表示されているため、ディレクティブをまったく呼び出していないようです。
Plunkr バージョン: http://plnkr.co/edit/buRaguEyTMuhUM9Z4Jsw?p=preview