2016-08-21 5 views
0

ウォッチのコードは一度だけ実行されます。 どうすれば修正できますか?

this.$rootScope.$watch('tabType',() => { 
      if (this.$rootScope["tabType"] === TabType.Sent) { 
       this.$scope.refreshSentList(); 
      } else if (this.$rootScope["tabType"] === TabType.Archive) { 
       this.$scope.refreshArchiveList(); 
      } else if (this.$rootScope["tabType"] === TabType.Inbox) { 
       this.$scope.refreshInboxList(); 
      } else if (this.$rootScope["tabType"] === TabType.Snooz) { 
       this.$scope.refreshSnoozList(); 
      } else if (this.$rootScope["tabType"] === TabType.Trash) { 
       this.$scope.refreshTrashList(); 
      } 
     },true); 
+0

オム、 '$ watch'とnessesaryではありませんどのように影響しないはずしかし

、 'newValue'と' oldValue'という2つのパラメータで動作する可能性があります。 –

+0

最小限で完全でベリファイの良い例を投稿すると助けになるでしょう。http://stackoverflow.co m/help/mcve –

+0

サンプルのポーロー –

答えて

0

これはES5で動作する例です。私が間違っていない場合は、ES6を使用しています。初めに$watch作業thisでも

$scope.$watch('tabType', function (newValue, oldValue) { 
    console.log(newValue); 
    console.log(oldValue); 
}); 

$watch

・ホープ、このヘルプあなた

+0

$ watchが初めて実行され、次回はnewValueまたはoldValueをコンソールできません。インファクト$ウォッチdoes not run –

+0

これはコントローラに置かれますか?また、tabTypeはどこに配置されていますか? –

+0

はいそのtabsController –

関連する問題