小编典典

防止ng-include创建隔离范围。AngularJS

angularjs

ng-include src在HTML的多个位置使用指令。每个人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个作用域。controller默认情况下,在定义的父级中创建1个,默认情况下创建3个ng-include src

是否有可能阻止ng-include自身创建隔离范围?如果不可能,那么是否有解决方法?


阅读 218

收藏
2020-07-04

共1个答案

小编典典

您需要创建自己的指令,该指令可以在没有隔离范围的情况下加载指定的模板。

的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;
      }
  };
});

工作朋克

2020-07-04