1

その質問を表現するより良い方法を知りませんでした。2 つのコントローラーで使用する基本的なサービスを作成しました。

JsFiddle: http://jsfiddle.net/aditya/2Nd8u/2/

「通知」をクリックすると、期待どおりに機能します。配列に通知を追加します。しかし、「リセット」はそれを壊します。「リセット」後にどちらのボタンをクリックしても何も起こりません。ここで何が起こっているか知っている人はいますか?

PS。notifs(技術的に) 再割り当てされているため、Angular が参照を失うことと関係があると思うので、ゲッターとセッターを作成しましたが、配列を空にすることでさえ、空pop()になるまで ing を実行する必要があり、あまり効率的ではないようです。

JsFiddle がダウンしている場合の Plunkr: http://plnkr.co/edit/mzfLLjFXCwsxM5KDebhc

4

2 に答える 2

4

私はあなたのプランカーをフォーク、解決策を提案しました:

リセット関数では、新しい空の配列として宣言する代わりに、配列のオブジェクトを削除してみてください:

notificationService.notifs.splice(0, notificationService.notifs.length);

または、@Wizcover で提案されているように:

notificationService.notifs.length = 0

これにより、元の配列の変更である角度が通知されます。

于 2013-08-15T18:24:33.967 に答える