在组件本身之外渲染组件的一部分
Rendering part of component outside of the component itself
我有这样的 JSFiddle:
https://jsfiddle.net/ownvjjow/
基本上,问题是我想在元素 (x
) 本身之外渲染组件 x
的某些部分。就像在外部作用域中一样,但在其他组件 (y
) 中保留了它的作用域。我有一部分组件可能需要使用 targetElement
设置来呈现,但似乎 ng-repeat
有一些问题。 fiddle returns 一些其他错误,我在我的应用程序中遇到的错误是:
我可以将我想成为 "moving" 的部分分解为另一个组件,然后有条件地在提供 bindings: {... , controller: '<'}
的其他地方渲染它,然后将范围从组件 x
公开到 x.y
但我想知道是否有一个选项可以编译组件的这一部分 x
并将其注入到其他地方,一切正常。
我不确定我的方法是否正确,或者我是否应该考虑一些不同的事情,如果您知道任何其他方法 solution/idea 那么请告诉我,我将不胜感激。
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 时间来完成编译。
希望对您有所帮助。
我有这样的 JSFiddle: https://jsfiddle.net/ownvjjow/
基本上,问题是我想在元素 (x
) 本身之外渲染组件 x
的某些部分。就像在外部作用域中一样,但在其他组件 (y
) 中保留了它的作用域。我有一部分组件可能需要使用 targetElement
设置来呈现,但似乎 ng-repeat
有一些问题。 fiddle returns 一些其他错误,我在我的应用程序中遇到的错误是:
bindings: {... , controller: '<'}
的其他地方渲染它,然后将范围从组件 x
公开到 x.y
但我想知道是否有一个选项可以编译组件的这一部分 x
并将其注入到其他地方,一切正常。
我不确定我的方法是否正确,或者我是否应该考虑一些不同的事情,如果您知道任何其他方法 solution/idea 那么请告诉我,我将不胜感激。
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 时间来完成编译。
希望对您有所帮助。