2013-04-26 41 views
2

是否可以通過簡單的方式打開/關閉手錶,或者表示手錶現在應該/現在不應該運行?我知道我可以取消註冊手錶,但我如何重新註冊?在AngularJS中切換手錶的開/關

在我的情況下,我有一個hiearchical選擇列表,當父選擇選項更改一個手錶重置子選擇。當使用選擇列表選擇選項時,這可以正常工作,但是當試圖爲父母和孩子分配選擇選項的值時,父母的手錶將啓動並重置子選項。

我已經提出了一個演示這一點的重擊者。嘗試從列表中選擇值,然後單擊loadValues

http://plnkr.co/edit/FbSff2?p=preview

這可能做的錯誤的方式。

回答

1

我不100%理解,爲什麼您要觀看和未觀看值....

我修改了普拉克,這一切似乎工作的偉大。我添加了一個額外的ngChange函數來監視父項選擇,然後從userSelection中刪除子項並刪除了所有的$watch函數。

http://www.plnkr.co/edit/7PJeja?p=preview

同樣,我不明白爲什麼您要觀察的變量,因爲你絕對不需要那麼做你正在嘗試做的....如果你有另一種情形您需要註冊/取消註冊手錶,請告訴我。

+0

感謝你的使用ng-change似乎有訣竅。這實際上是我所追求的。它也顯示了我對AngularJS的新鮮感。 – 2013-04-26 09:29:52

+0

沒問題。我自己只做了幾個應用程序,所以我相當新。根據我迄今爲止的經驗,我只使用$ watch進行記錄和調試。但我相信它有它的位置。 – 2013-04-26 14:01:28