我有一个容器组件,其中嵌套了2个其他控制器。我让他们这样设置
container -> component1
和container -> component2
我的思路是,我可以将HTML从我的页面转换到我的容器组件中。
<container> <component1></component1> <component2></component2></container>
然后在容器HTML <div ng-init="vm.init()" ng-transclude></div>
问题是,我的容器根本没有运行,我在其init函数中添加了一个控制台日志,并且没有运行任何代码。虽然component1和component2运行它们的init。
似乎是涵盖旧版角度版本的大量文档。这告诉我他们需要像<div ng-controller="parentController"> <div ng-controller="childController"></div> </div
如何在1.5中将组件嵌套到彼此?
答案 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>