也許這是兩個問題之一。我知道你必須顯式地聲明要在Component for Angular 2中使用的指令。這是否會傳播給組件的子組件,如果不是,它可以做到嗎?其次,組件上聲明的變量是否傳播給子組件,還是必須顯式傳遞給組件?指令/範圍繼承
指令/範圍繼承
回答
從beta.14開始,您必須明確列出@Component
的directives
陣列中所有使用的指令。對於問題的第二部分,在組件上聲明的變量(例如:this.name
)不會傳播到子組件。要實現這一點,必須使用像<child [item]="parentItem"></child>
這樣的屬性在組件模板中明確傳遞它們,並且子組件必須包含@Input item
屬性。
編輯: 要合併的澄清評論...有可能在bootstrap
功能,但全球只有註冊指令。父級聲明的指令將由子組件繼承NOT。
bootstrap(App, [
PLATFORM_DIRECTIVES,
provide(PLATFORM_DIRECTIVES, {useValue: [SomeDirective, SomeComponent], multi:true})
]);
您可以使用'provide(PLATFORM_DIRECTIVES,{useValue:[SomeDirective,SomeComponent], multi:true})',與管道相同'bootstrap(App,[提供(PLATFORM_PIPES,{useValue:RainbowizePipe,multi:true})]);' –
謝謝澄清 – tomastrajan
- 1. 指令範圍和繼承
- 2. AngularJS指令範圍繼承
- 3. AngularJS:指令模板範圍繼承
- 4. Pundit範圍繼承
- 5. 爲什麼angularjs指令繼承範圍但不更改範圍變量?
- 6. 繼承與隔離範圍的角度父指令屬性
- 7. 使用父變量/繼承範圍的Angular.js指令模板
- 8. AngularJS遵守指令屬性的表達,繼承範圍動態
- 9. AngularJS最佳實踐繼承範圍的指令
- 10. AngularJS分離指令繼承周邊或父範圍
- 11. AngularJS指令繼承
- 12. JavaScript繼承範圍問題
- 13. AngularJS $範圍繼承服務
- 14. 指令範圍
- 15. $範圍的指令
- 16. ASP.NET @OutputCache指令「繼承」
- 17. 在角度繼承指令
- 18. Angularjs將變量傳遞給帶有繼承(未隔離)範圍的指令
- 19. 如何從父範圍繼承複雜的屬性到我的指令的隔離範圍
- 20. 此範圍因繼承而丟失
- 21. 繼承時的範圍規則 - C++
- 22. 可能的繼承範圍問題:
- 23. Angularjs繼承父範圍混淆
- 24. 繼承:評估派生類的範圍?
- 25. AngularJS繼承模式不使用範圍?
- 26. 繼承的C++範圍解析使用
- 27. 繼承,隱藏函數和範圍C++
- 28. 從模板繼承:範圍錯誤?
- 29. Python的繼承和範圍問題
- 30. 紅寶石 - 詞法範圍VS繼承
他們計劃實施你提到的內容。 [見這個問題](https://github.com/angular/angular/issues/2844)。然而,它不斷推遲,所以你必須等待。 –
我想這是一個難以解決的問題,因爲模塊化思想指出組件/模塊沒有隱式依賴關係。如果要將子組件移到其他地方,它將會中斷。這通常通過繼承或依賴注入來解決,這會在子組件和父組件之間建立強有力的聯繫,從而使您的子組件無法自行移動。 – jornare
我認爲這與函數式編程有同樣的意義,然後......不幸的是,這意味着我有一些工作要做;) – djvs