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

AngularJS如何在ng-repeat中监视这些情况?

谭浩皛
2023-03-14
问题内容

我知道AngularJS在ng-repeat上设置了一些监视。此时设置了哪种手表?

另外,有人可以解释在每种情况下会发生什么吗?我想知道我有很多物品,所以如果我用其他方式写的话,不会被那些本可以淘汰的手表所困扰。

之一

<div ng-repeat="item in items">
  <div>{{item.property}}</div>
</div>

<div ng-repeat="item in items">
  <div>{{item.property | myFormatter}}</div>
</div>

<div ng-repeat="item in items">
  <div>{{format(item.property)}}</div>
</div>

四个

<div ng-repeat="item in items">
  <div>{{item.something()}}</div>
</div>

问题答案:

每个人ng-repeat都会在上设置一个$ watch items。(如果您查看ng-
repeat源代码
,则其中大多数是$
watch方法的watchExpression函数)。每当一个角消化周期运行,每个itemitems将这款手表的功能进行检查。(请注意,在摘要循环中,可以多次调用此监视函数)。

每个人都{{}}设置了一个手表。如果item.property}内有类似内容,则每个摘要周期至少对它进行一次脏检查。

如果某个函数在{{}}内部,则每个摘要周期至少调用一次该函数。

我不确定x | filter,但是这个小提琴似乎表明每个摘要循环至少调用一次过滤器,即使x它没有改变也是如此。



 类似资料:
  • 问题内容: 例如考虑这个Plnkr。我不知道将事先创建多少个成员。所以我不知道会有多少种模型。 但是我知道它们将成为角度模型,而且我知道它们将在哪里。 我该如何处理这些? 我需要这样做,因为我需要在更改模型时触发行为。仅仅观察fooCollection本身是不够的,更改a时侦听器不会触发。 相关HTML: 相关JS: 问题答案: 创建单独的列表项控制器:Plnkr上的演示 js HTML

  • 问题内容: 我知道我们可以轻松地对json对象或数组使用 ng-repeat ,例如: 但是如何将ng-repeat用于字典,例如: 我想在用户字典中使用它: 可能吗?。如果是,我该如何在AngularJs中做到这一点? 我的问题的示例:在C#中,我们定义如下字典: 是否有内置函数可以像c#中那样从字典返回值? 问题答案: 您可以使用 请参阅ngRepeat文档。示例:http://jsfiddl

  • 问题内容: 除了呈现对象中属性的值之外,我还想将属性名称呈现为标签。有办法做到这一点吗?例如: 可能会吐出这样的东西: 问题答案: 试试这个:

  • 问题内容: 我正在尝试做类似的事情: AngularJs部分: 但是不知何故,它向我展示了所有物品。如何筛选(键,值)? 问题答案: Angular 过滤器只能通过angular的API应用于数组,而不能应用于对象- “从数组中选择项的子集,并将其作为新数组返回。” 您在此处有两个选择: 1)移至数组或 -2)预过滤项目,如下所示: 并在控制器上: jsfiddle :http : //jsfid

  • 问题内容: 嗨,我有一个简单的ng-repeat-start和end用例,并且工作正常,当我想添加一个内部ng-repeat时出现了问题。这是我的代码 内部ng-repeat到td元素中不起作用,在检查html源代码时看到ngRepeat注​​释,但未创建td元素。 我的丑陋的解决方法(假设我知道该向量的大小)是: 问题答案: 从那时起,我不确定是否使用角度1.1.6,并且在1.1.5或1.0.7

  • 问题内容: 我想问你是否可以帮我这个忙。 我在这里用我的问题创建了一个jsfiddle 。我需要使用ng-model =“ my _ {{$ index}}”方式在ng-repeater中动态生成一些带有ng-model的输入。 在jsfiddle中,您可以看到一切正常,直到我尝试动态生成它为止。 HTML将是: 还有javascript … 你能给我个主意吗? 非常感谢。 问题答案: 它能解决您