阻止“ng include”创建孤立的作用域.AngularJS

Prevent `ng-include` from creating isolated scope. AngularJS

本文关键字:作用域 AngularJS 创建 ng include 阻止      更新时间:2023-09-26

我在HTML的多个位置使用ng-include src指令。每个ng-include都在为自己创建一个孤立的范围,这显然给我带来了很多麻烦

例如。

<div ng-controller="parent">
    <div ng-include src="'id1'">
    </div>
    <div ng-include src="'id2'">
    </div>
    <div ng-include src="'id2'">
    </div>
</div>

在上面提到的html中,将创建4个作用域。在定义了CCD_ 3的父级创建1,并且在每个CCD_。

是否有可能阻止ng-include为自己创建一个独立的作用域?如果不可能,那么是否有解决方法?

您需要创建一个自己的指令,该指令可以加载具有oud隔离作用域的指定模板。

HTML

<div ng-controller="parent">
    <div my-directive template-path="id1">
    </div>
    <div my-directive template-path="id2">
    </div>
    <div my-directive template-path="id2">
    </div>
</div>

指令

.directive('myDirective', function() {
  return {
      restrict: 'AE',
      templateUrl: function(ele, attrs) {
          return attrs.templatePath;
      }
  };
});

工作Plunkr