2015-07-20 87 views
0

這裏的交易:
我想創建一個全局警報消息來通知用戶他已經完成了一個操作(例如,註銷)。我正在使用SB Admin 2.0 from StartAngular.com
這是我做出正確行動時的樣子。AngularJS只爲下一個狀態創建一個註銷消息

Global message

現在的問題其實是,你會怎麼做,這個消息將只持續狀態?
如果我從我們從(dashboard)拍攝照片的位置處進入'/ login'狀態,則消息將消失。

我加了一個JSFiddle link
現在它不應該實際顯示正確的結果,而不是給你我目前的代碼。

核心是關於我使用工廠來保存我想要保存在不同狀態之間的一些數據。
在我向工廠填寫要插入消息的數據後,我給該信號添加了一個布爾值。

然後,在控制器*的開始處尋找該信號,如果它處於打開狀態,則使用state change events在下一個狀態**中刪除註銷信號。

$scope.userUtil = userUtil; 

if ('loggedOut' in $scope.userUtil){ 
    $rootScope.$on('$stateChangeSuccess', 
     function(event, toState, toParams, fromState, fromParams){ 
      console.log(1); 
      delete $scope.userUtil.loggedOut; 
     }) 
} 

您是否認爲我正朝着正確的方向前進?你有什麼辦法可以以更簡單的方式做到嗎?

我很感謝您的意見。

*控制器被結合的抽象狀態稱爲主(其中包括首部,和側欄)

**我使用目前的方法是不完美的,似乎該函數I結合到事件不是一個計時器。因此,如果我退出一次,自從我成功輸入每個狀態後,都不會再看到該消息,無論如何,註銷信號都將被刪除。

回答