2017-02-13 60 views
0

我正在使用角1.5和我有控制器,但它不是一個組件,只是通常的控制器。我試圖在這裏使用$ onChanges,但它不起作用。那麼,實際上可以在非組件控制器上使用$ onChanges嗎?

+1

我認爲$ onChanges是一個只在組件的控制器上可用的事件。如果您不使用組件,則可以使用$ parent或其他方式訪問控制器的屬性,具體取決於您的架構。 –

回答

1

組件具有明確定義的生命週期每個組件都可以實現 「生命週期掛鉤」。其中一個鉤是$onChanges

Reference

如果你想發現變化,而不是採用了棱角分明1.5組件功能,那麼您以下選項以繼續:

  • 創建一個組件,因此您可以使應用程序的這部分可重用,並使該版本的Angular提供開箱即用的大部分生命週期。

因爲你還沒有說你的實際使用情況,您可以嘗試根據您的需求如下:

  • 如果綁定到一個HTML5輸入/選擇/收音機元素,然後使用ng-model爲兩這樣當用戶更新它時,模型將自動更新。
  • 結合ng-change以上ng-model這樣,每當值被改變,你可以添加一些額外的行爲。 Reference
  • 使用$watch如果你真的沒有選擇上述選擇並摧毀它的不再需要的時候。 Reference

此外,請在您的問題中提到你想達到什麼目的。一個jsfiddle會很好,可以讓你更清楚的回答。

+0

不幸的是,我無法創建一個小提琴,客戶機密代碼和東西。但感謝您的詳細解釋。 –