我知道我在問一個問題,它有一個非常簡單的答案(我對angular很陌生,在這裏需要很多勇氣)。我有一個顯示這樣的時間的指令:當偵聽器是Date()函數時,角度守望者不起作用
Application.Directives
.directive('theClock', function(){
return {
retrict: 'EA',
templateUrl: 'partials/partial.clock.html',
link: function(scope, elem, attrs) {
scope.dTime = Date();
scope.$watch(function(scp){ return Date(); }, function(newVal){
scope.dTime = newVal;
}
);
}
};
});
我預計的時間將更新每個$消化週期,但事實並非如此。我知道使用setInterval
或$timeout
是另一種方式來做到這一點,但我並不真的想要一個時鐘,我想了解爲什麼更新不會發生。順便說一句我沒有打電話$apply()
檢查後$$phase
- 沒有幫助
謝謝。
奇怪...只是將您的代碼導入到[Plnkr](http://plnkr.co/edit/bMVqWBQ9qBVl90zhTdgZ),日期已更新爲每個摘要(只需更改要檢查的輸入值 - 更新每個按鍵日期) –
@ValentynShybanov - 是的,它會更新如果你改變一個輸入值,但不是定期調用$ digest,特別是因爲我設置了一個觀察者?此外,即使對$ apply()的調用似乎也沒有幫助。 –
我剛要問一個同樣的問題。由於我創建了plunk,所以我會把它放在評論中:http://plnkr.co/edit/ehud1hFP6opyrnNWvbjA?p=preview *(所以當這個問題在幾個月後再次出現時我會有一個參考點)* –