2016-09-30 123 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>