2015-12-07 57 views
1

我有一個指令<resized-image>,它有一個屬性id。基於這個id,它要求一個圖像對象的API。

該指令用作文章的標題圖像。爲了瞭解id,需要首先加載文章的數據。

所以當文章加載完成後,的<resized-image>已設置,它可以開始加載圖像。

我可以解決這個問題的唯一方法是在id屬性的指令中使用$watch

是否有另一種更乾淨的方法來做到這一點?

回答

1

您可以使用ngIf:當身份識別碼具有值

2

<resized-image id=myId ng-if=myId></resized-image> 

resizedImage將被編譯你是對的事實,你應該避免使用手錶。但是當它們被使用時,一定要使它們儘可能高效和有限。

我建議您閱讀與許多有效的替代策略,下面的文章:https://www.accelebrate.com/blog/effective-strategies-avoiding-watches-angularjs/

5層的替代品,他談到有:

  1. $範圍傳播
  2. ngModel $解析器
  3. ngModel $ viewChangeListeners
  4. setInterval
  5. fi過濾器