2013-10-20 16 views
1

我正在使用服務來維護用戶在我的小型角應用中正在處理的當前對象。我遇到了一個問題,我正在使用的手錶沒有開機,我也不確定爲什麼。我已經找到了多個使用函數作爲你的手錶表達的例子,但還沒有得到一個工作。我設置一個簡單的擺弄着這裏的服務和控制器:

$scope.$watch('$foo.getCurrent()', function (nn, oo, scope) { 
    scope.currentFoo = $foo.getCurrent(); 
}); 

JS Fiddle

清除按鈕是假設「重置」當前對象,它通過$手錶,應該重置回形式到空的狀態。有人能夠抨擊我的後腦,並告訴我做錯了什麼嗎?

謝謝!

回答

0

更新您的提琴

http://jsfiddle.net/n2Bjp/37/

不要以爲你想要的範圍在被觸發和使用的功能爲$手錶調用的第一個參數的函數傳遞。

$scope.$watch(function() {return $foo.getCurrent()}, function (nn, oo) { 
    $scope.currentFoo = $foo.getCurrent(); 
}, true); 

相信使用僅適用於可在控制器作用域上解析的屬性的字符串。在任何情況下,使用函數作爲第一個參數返回你想要檢查的東西總是有效的(只是不要這樣做,如果檢查的東西改變它)。

+0

哦,好的,我明白了。這就說得通了。使用你的小提琴,我簡化了它,但它有相同的效果。謝謝! http://jsfiddle.net/risingfish/n2Bjp/39/ – risingfish

+0

啊酷,很高興知道,可以稍微短一點 – shaunhusain

相關問題