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

了解ngRepeat的“跟踪依据”表达

司空叶五
2023-03-14
问题内容

我很难理解angularjs中ng-repeat表达式的 轨迹是
如何工作的。该文档非常稀缺:http :
//docs.angularjs.org/api/ng/directive/ngRepeat

您能解释一下这两个代码片段在 数据绑定 和其他相关方面的区别吗?

与: track by $index

<!--names is an array-->
<div ng-repeat="(key, value) in names track by $index">
  <input ng-model="value[key]">                         
</div>

没有(相同的输出)

<!--names is an array-->
<div ng-repeat="(key, value) in names">
   <input ng-model="value[key]">                         
</div>

问题答案:

你可以track by $index,如果您的数据源中有重复的识别码

例如: $scope.dataSource: [{id:1,name:'one'}, {id:1,name:'one too'}, {id:2,name:'two'}]

使用“ id”作为标识符时,您不能迭代此集合(重复的id:1)。

不会工作:

<element ng-repeat="item.id as item.name for item in dataSource">
  // something with item ...
</element>

但是可以,如果使用track by $index

<element ng-repeat="item in dataSource track by $index">
  // something with item ...
</element>


 类似资料:
  • 问题内容: 我正在尝试使用“ track by”表达式来跟踪对象数组中按id进行的选择。但是,我似乎无法使它像我认为的那样起作用。 因此,根据文档,我虽然在加载时使用options指令会看到serverDTO的’track by’ID为1、2和3,并已对其进行了预先选择。用户修改选择后,我需要执行以下操作将数组返回到服务器- 我是否应该解决这个问题? 问题答案: 据我所知,它只是在内部帮助Angu

  • KnockoutJs会在值更新时自动跟踪依赖项。 它有一个称为dependency tracker (ko.dependencyDetection)的对象,它充当了双方之间用于订阅依赖关系的中间件。 以下是依赖性跟踪的算法。 Step 1 - 每当您声明一个计算的observable时,KO立即调用其求值函数来获取其初始值。 Step 2 - 订阅被设置为评估者读取的任何可观察对象。 在应用程序中

  • 1.3.2. 跟踪数据 作为一个有安全意识的开发者,最重要的一件事就是随时跟踪数据。不只是要知道它是什么和它在哪里,还要知道它从哪里来,要到哪里去。有时候要做到这些是困难的,特别是当你对WEB的运做原理没有深入理解时。这也就是为什么尽管有些开发者在其它开发环境中很有经验,但他对WEB不是很有经验时,经常会犯错并制造安全漏洞。 大多数人在读取EMAIL时,一般不会被题为"Re: Hello"之类的垃

  • 问题内容: 我的同事在工作中提出了一个我无法回答的问题(由于缺乏经验),该问题与跟踪表中相关字段的变化有关。 想象一下,我们有3个表,每个表20个字段。在此示例中,我们考虑这些表中的每一个都有2个字段,一个名为LastUpdatedOn,另一个名为LastUpdatedBy。 如果我们只想跟踪这3个表中的更改,而只跟踪几个特定字段,而没有为每个表创建包含更新前最新版本的历史表,那么我们如何跟踪这些

  • 跟踪行为控制着 Entity Framework Core 是否会在其变更跟踪器里维持实体实例的信息。如果实体是被跟踪的,任何检测到的该实体的变更都将在 SaveChanges() 时持久化到数据库中。Entity Framework Core 还会对已跟踪的、之前已加载到 DbContext 实例中的查询和实体进行相互的导航属性装配。 提示 你可以在 GitHub 上查阅当前文章涉及的代码样例。

  • Trace 事件提供了一种机制,可以集中由 V8,Node 核心, 以及用户代码生成的跟踪信息。 启动 Node.js 应用时添加 --trace-events-enabled 标记,可以启用 Tracing. 可以通过在 --trace-event-categories 标记后跟一个用逗号分隔的类别名称列表, 来指定特定的跟踪记录集合。 node 和 v8 默认启用。 node --trace-