我有这样的 JSFiddle: https://jsfiddle.net/ownvjjow/
基本上问题是我想渲染组件的某些部分 x
在元素( x
)本身之外。与外部作用域类似,但在其他组件中保留其作用域( y
)。我有部分组件可能需要用 targetElement
渲染设置,但看起来像 ng-repeat
有一些问题。 fiddle 返回一些其他错误,我在应用程序中遇到的错误是:
我可能会破坏我想要作为另一个组件“移动”的部分,然后有条件地将其渲染在其他位置,提供 bindings: {... , controller: '<'}
然后公开组件 x
的范围到x.y
但我想知道是否有一个选项可以编译组件的这一部分 x
并将其注入(inject)其他地方,一切正常。
我不确定我的方法是否正确,或者也许我应该考虑一些不同的东西,如果您知道任何其他解决方案/想法,那么如果您让我知道,我将不胜感激。
最佳答案
if(this.options.targetElement) {
var parentElem = angular.element((this.options.targetElement));
var childElem = $compile(this.container)($scope)[0];
$timeout( function(){
parentElem.append(childElem);
}, 0, false );
}
这将为 AngularJS 提供时间来完成其编译。
希望这有帮助。
关于javascript - 在组件本身之外渲染组件的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41099192/