[英]Angular Directive template inner partial $compile
我们正在研究一款精美的配件。 在这里,我们要在自己的指令中使用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呢?
只是让我想清楚了。 我实际上在第3方环境中,我们只能定义指令,而装载程序只能初始化这些指令。 ng-grid是在指令定义中延迟加载的。 由于lazyload返回了promise,因此我们无法预期ng-grid模块何时准备就绪。 因此我们必须在promise解析中使用$ compile。 这是plnkr:( http://plnkr.co/edit/hyeIJx?p=info )–
如果模板中包含ng-grid
,则angularjs也应自动对其进行编译。 如果要在链接函数中手动添加它,那么除了手动调用$compile
之外,别无其他方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.