Angularjs:是否可以使用嵌套的dom作为组件的模板?

时间:2017-11-08 13:33:11

标签: angularjs

我正在寻找一种方法来使用组件的现有圆顶节点作为它的模板。我最终得到的是最接近的翻译,但它仍然需要额外的包装elemwe

app.component('widgetDom', {
    controller: function ($scope) {
    $scope.data = "I'm data for nested dom elements";
  }
});

然后将其显示为

<widget-dom>{{data}}</widget-dom>

但它不会起作用。

通过翻译我最终会得到:

<widget-dom><div ng-transclude>{{data}}</div></widget-dom>

有没有办法只使用嵌套的DOM元素作为组件/指令的模板?

谢谢。

https://jsfiddle.net/yb9dzkyv/

1 个答案:

答案 0 :(得分:1)

这是因为组件始终与其父级具有隔离范围。如果您定义了&#34;组件&#34;作为指令,您可以配置指令以共享父级的范围,从而使其成为可能。

像这样:

app.directive('widgetDom', function(){
  return {
    restrict: 'E',
    template: '<div>Hello, {{data}}!</div>'
  };
});

Here's a plunker showing it working