javascript - 在组件本身之外渲染组件的一部分

标签 javascript angularjs angularjs-directive angularjs-scope angular-components

我有这样的 JSFiddle: https://jsfiddle.net/ownvjjow/

基本上问题是我想渲染组件的某些部分 x在元素( x )本身之外。与外部作用域类似,但在其他组件中保留其作用域( y )。我有部分组件可能需要用 targetElement 渲染设置,但看起来像 ng-repeat有一些问题。 fiddle 返回一些其他错误,我在应用程序中遇到的错误是: enter image description here 我可能会破坏我想要作为另一个组件“移动”的部分,然后有条件地将其渲染在其他位置,提供 bindings: {... , controller: '<'}然后公开组件 x 的范围到x.y但我想知道是否有一个选项可以编译组件的这一部分 x并将其注入(inject)其他地方,一切正常。

我不确定我的方法是否正确,或者也许我应该考虑一些不同的东西,如果您知道任何其他解决方案/想法,那么如果您让我知道,我将不胜感激。

最佳答案

fiddle

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/

相关文章:

javascript - 通过 javascript 和 ajax 填充 HTML 页面的最佳策略

javascript - Excel 插件 : How to create a range?

angularjs - 如何在弹出窗口中渲染 Angular 指令,并允许其与主窗口进行通信?

javascript - 如何在angularjs中创建简单的拖放

javascript - 如何在单击按钮时切换隐藏/显示具有相同类名的所有元素

javascript - getJSON 与 codeigniter 一起使用时遇到问题

javascript - AngularJS 和 Angular Material 性能问题

javascript - 在 Controller 中注入(inject)百分比过滤器

angularjs - 手动触发输入字段的 Angular 数据绑定(bind)(仅用于单元测试目的)

javascript - 如何通过嵌入将父指令属性值传递到子指令范围?