我们正在开发一个奇特的小部件。在这里,我们希望在我们自己的指令中使用ng-grid。
<div fancy-widget >
<div class=“fancy-part”>
{{fancyImp}}
</div>
<ng-grid></ng-grid> //ng-grid is part of angular-ui
</div>
除了使用$compile(elem.children()[1])($scope)
在fancy-widget的链接功能中编译ng-gird部分之外,还有其他方法可以让它更聪明吗?
建议的模板操作方式并没有让我满意。既然我们已经理解了ng-gird,为什么我们需要在这里使用手动$ compile来完成它?
我的想法很明确。我实际上是在第三方环境下,我们只能定义指令和加载器来初始化这些指令。 ng-grid在指令定义中是延迟加载的。因为lazyload返回一个promise,所以我们不能指望ng-grid模块何时准备就绪。所以我们必须在promise resolve中使用$ compile。这是plnkr:(http://plnkr.co/edit/hyeIJx?p=info) -
答案 0 :(得分:0)
如果模板中有ng-grid
,那么angularjs也应该自动编译它。如果您在链接功能中手动添加它,除了手动调用$compile