簡體   English   中英

AngularJS-子指令與父指令使用相同的數據。 如何分享?

[英]AngularJS - Child directive uses same data as parent. How to share?

我有一個子指令,該指令需要與使用它的某些父頁面相同的數據。

共享數據的最佳方法是什么?

子指令是否應該與父指令進行相同的API調用?

還是父級應該通過屬性將數據發送到指令?

我認為這取決於。

如果parent和child偽指令將要分別重復使用(意味着您可以不使用另一個偽指令),那么您肯定要使用屬性API來將數據傳遞給child偽指令。

如果它們總是要一起使用,則可以執行以下操作之一:

  • 使用屬性傳遞值
  • 從子級刪除隔離范圍,僅讓子級繼承父級范圍的值。 當人們這樣做時,我討厭它,但是每個人都討厭。
  • 有一個緩存值的服務,它們都調用該服務並返回相同的值。
  • 您可以使用范圍事件系統將父范圍的數據廣播到其子級。

所有這些都會起作用。 您需要與您的團隊討論他們最喜歡什么,以及大家認為應該采用什么作為常規模式。 之后,您只需實施即可。

祝好運!

我想您描述了正確的解決方案。 最好將數據傳遞給指令槽屬性,並使指令僅顯示該屬性。 但是,如果您仍然想在指令中對api進行調用,那么我建議您提取對服務的api調用,並在服務內部緩存promise。 這個插件可能很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM