2016-09-30 151 views
0

我有一個容器組件,其中嵌套了2個其他控制器。我讓他們像這樣設置 container -> component1container -> component2Angular 1.5嵌套組件

我在這裏的思路是我可以將HTML從我的頁面轉換到我的容器組件。 <container> <component1></component1> <component2></component2></container>

,然後在容器HTML <div ng-init="vm.init()" ng-transclude></div>

問題是,我的容器完全不跑,我添加了一個控制檯日誌其初始化函數和無代碼運行。而component1和component2運行它們的init。

似乎是一個涵蓋較舊的角度版本的大量文檔。這告訴我他們需要像這樣嵌套<div ng-controller="parentController"> <div ng-controller="childController"></div> </div

如何在1.5中嵌套組件到彼此?

+0

的[成分指南(HTTPS://docs.angularjs .org/guide/component)在angularjs.org上有嵌套組件的例子,並且在SO上有很多關於嵌套組件的問題(請參閱相關側欄)。現在這個問題是相當廣泛的,似乎是要求教程,而不是具體問題的具體答案... –

+0

非常有用... –

回答

0

看起來問題是我試圖把ng-init和ng-transclude放在同一個元素中。我的猜測是ng-transclude覆蓋了它所在元素的所有內容。

所以我移動NG-INIT到另一元件時,其工作細

<div ng-transclude ng-init="vm.init()"></div>

改爲

<div ng-init="vm.init()"> <section ng-transclude ></section> </div>