当前位置: 首页 > 面试题库 >

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

张鸿宝
2023-03-14
问题内容

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自身创建隔离范围?如果不可能,那么是否有解决方法


问题答案:

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

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

工作朋克



 类似资料:
  • 问题内容: 我正在尝试创建一个select元素,该元素的页面编号为1,其中pages是一个变量,即我所拥有的页面数。我不知道该怎么做,是为了构造ng- options表达式,以便它将给我所需的数字。这是我到目前为止的 我需要在ng-options表达式中放置什么才能使其创建我的select 我是否需要创建一个返回数字数组的函数并以某种方式在其中使用它,还是有一种更简单的方法呢? 任何帮助将不胜感激

  • 问题内容: 我有一个控制器,我写的,我在多个地方使用我的应用程序和,就像这样: 在控制器/模板中,我希望该值存在,并且整个事情都围绕着这个想法建立。不过,现在,我需要以稍微不同的方式使用控制器,而无需使用,但仍然需要能够传递。我看到并认为它可以满足我的需要,例如: 但这似乎不起作用。任何人都有任何想法如何在这样的单个实例中为范围传递变量? 编辑:在此上方的控制器正在加载和值,如下所示: 问题答案:

  • 问题内容: 请在这里查看示例 角需要,,以在所述分离的范围对象从父范围访问它来限定。 在这里使用 那么,目的是什么?无法访问通过传递的所有属性。为什么不能将max的一个访问值代替 为什么要分配回来像? 由于此应用程序是由Angular作者编写的,因此我希望有一个理由。 谢谢。 问题答案: attrs的目的是什么? 在与指令相同的元素上定义的属性有几个用途: 它们是将信息传递到使用隔离范围的指令的唯

  • 那么,的目的是什么?不能访问通过传递的所有属性。为什么一个max的访问值不能作为而不是 为什么要像那样分配回来? 谢了。

  • 问题内容: 此代码有效: 这两个测试用例基本相同。但是用这样的数组构造一个字符串很麻烦,而且您无法获得静态分析。所以我当时想做的是这样的: 其中孤立的是一个类似于以下内容的辅助函数: 最大的问题是Function.prototype.toString()给您整个功能。有谁知道从函数的字符串表示形式获取函数体的好方法? 更新:PRoberts在问这是什么目的,目的很简单: 问题答案: 我写了一个版本

  • 在这方面花费了太多时间后,我认为根本问题在于我在一个无意的使用模型中误用/滥用了JSlider。限制拇指的移动范围小于BoundedRangeModel范围需要修改BasicSliderUI类。虽然下面aterai提出的原始解决方案确实有效,但它需要重写一个SliderUI实现类,这会影响PLAF的可移植性和一致性。因此,要么我必须找到一个不同的UI元素,要么根据其他相互依赖的变量值修改JSlid