问题标签 [angularjs-ng-repeat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
19325 浏览

angularjs - ng-repeat 结合自定义指令

我在将 ng-repeat 指令与我自己的自定义指令结合使用时遇到问题。

HTML:

JS:

jSFiddle

这里的问题是没有任何东西被替换。我想要完成的是 2x 输入字段的输出,在 DOM 中完全替换了“x-template-field”标签。我的怀疑是,由于 ng-repeat 正在同时修改 DOM,所以这是行不通的。

根据this Stack Overflow question,接受的答案似乎表明这实际上在早期版本的AngularJS(?)中有效。

不会 element.html('...') 工作吗?

虽然 element.html('...') 实际上将生成的 HTML 注入到目标元素中,但我不希望 HTML 作为模板标签的子元素,而是在 DOM 中完全替换它。

为什么不用另一个具有 ng-repeat 指令的标签来包装我的模板标签?

基本上,出于与上述相同的原因,我不希望我生成的 HTML 作为重复标记的子元素。虽然它可能在我的应用程序中工作得很好,但我仍然觉得我已经调整了我的标记以适应 Angular,而不是相反。

为什么我不使用“模板”属性?

我还没有找到任何方法来更改从“模板”/“模板Url”属性中检索到的 HTML。我要注入的 HTML 不是静态的,它是从外部数据动态生成的。

我对我的标记太挑剔了吗?

大概。:-)

任何帮助表示赞赏。

0 投票
3 回答
82696 浏览

angularjs - 在表内的行上使用 ng-repeat 和 ng-class

我正在使用 AngularJS,我想要获得的效果将类似于它会产生的效果,假设它会起作用(它不会起作用)。

看法

控制器

我意识到这段代码不起作用,因为person它不可用,ng-class因为它只对每行内的对象可用。代码是为了了解我想要做的事情:即。我希望能够拥有使用ng-repeat其类创建的表行也基于一个条件,该条件取决于对行本身的范围特性的访问,例如。person. 我意识到我可以在列上添加 ng-class 但这很无聊。有人有更好的想法吗?

0 投票
4 回答
36553 浏览

angularjs - 如何在 ng-repeat 中获取上一项?

我有一个模板,只有当当前项目与前一个项目有一些不同的字段时,我才想在其中生成一些 HTML。如何访问 ng-repeat 中的上一个项目?

0 投票
2 回答
18627 浏览

angularjs - AngularJs - 访问 ng-repeat 中的 DOM 元素

我有下一个模板:

在我的控制器中,我有:

谢谢

0 投票
2 回答
4397 浏览

angularjs - 带有 ng-repeat 的 Angularjs 为相同类型的多个元素生成相同的 id

我有一个 html 页面,其中我有一个对象“消息”,该对象具有一个属性“属性”,它是一个对象数组。问题是当我使用'ng-repeat'迭代'Message.Properties'项目以呈现我用angularjs创建的某些自定义元素时,它会生成一个id,我为相同的元素得到相同的id类型。这是我的代码示例:

重新表述,当元素“sdk:selectbox”被编译时,如果我在 Message.Properties 中有 2 个具有相同类型的属性(例如:9),则生成的 id(创建的 html 输入)对于两者都是相同的(虽然我是随机生成的),但是对于不同的输入,我当然需要不同的 ID。我读到 ng-repeat 会为每个项目复制模板,是吗?!如何解决?我将不胜感激任何帮助。

0 投票
1 回答
3178 浏览

angularjs - ng-repeat 键不使用 JSON 数据显示

我的服务抓取 JSON 数据并将数据成功返回到控制器,但是我在使用 ng-repeat 迭代键名时遇到问题。

我想将页面上的键名称显示为列表,因为它们是类别名称。

目前 ng-repeat 迭代正确的次数,但它不显示键名。

控制器:

服务:

JSON数据:

看法:

0 投票
5 回答
159404 浏览

angularjs - AngularJS:从模型数组拼接模型元素时,不会更新 ng-repeat 列表

我有两个控制器,并通过 app.factory 函数在它们之间共享数据。

单击链接时,第一个控制器在模型数组 (pluginsDisplayed) 中添加一个小部件。小部件被推送到数组中,并且此更改反映到视图中(使用 ng-repeat 显示数组内容):

该小部件建立在三个指令之上,k2plugin、remove 和 resize。remove 指令将跨度添加到 k2plugin 指令的模板。单击所述跨度时,共享数组中的右侧元素将被删除Array.splice()。共享数组已正确更新,但更改反映在视图中。但是,当添加另一个元素时,在删除之后,视图会正确刷新,并且不会显示先前删除的元素。

我怎么了?你能解释一下为什么这不起作用吗?有没有更好的方法来做我想要用 AngularJS 做的事情?

这是我的 index.html:

这是我的 main.js:

0 投票
1 回答
479 浏览

javascript - 分组 ng-repeat 并在指令之外修改 DOM

我不确定如何描述我遇到的问题,或者即使它是一个问题。我想我很难理解 Angular 指令是如何工作的。欢迎任何关于最佳实践的建议和/或意见。

我的控制器的 $scope 中有一个简单的对象数组:

假设我想从这个数据模型创建一个 DOM 结构:

我可以在这个 plunker中实现与此接近的东西。

然而,在那里,我最终得到了一个我想要的稍微不同的 DOM 结构。

所以,我的问题是:

  1. 我是否正确地考虑了这个问题?我是否应该修改我的数据结构以按日期对其进行分组,然后只对每个单独的日期进行 ng-repeat?
  2. 如果有办法用我现有的数据结构做到这一点,我是否需要在生日男孩/ng-repeat 指令之外修改 DOM?
  3. 有没有办法将 ng-repeat 指令包装成自定义的东西 - 我已经开始研究 compile 函数但是,只是不确定......

谢谢!

0 投票
5 回答
59587 浏览

angularjs - 使用 ngRepeat => 不可编辑的输入将输入绑定到基元数组

这是我的问题的演示。

谁能向我解释为什么输入不可编辑/只读?如果是设计使然,背后的原理是什么?

2014 年 2 月 20 日更新

看起来这不再是 v1.2.0+ Demo的问题。但请记住,虽然用户控件现在可以使用较新的 angularJS 版本进行编辑,但修改的是子范围num中的属性,而不是父范围中的属性。换句话说,修改用户控件中的值不会影响数组。myNumbers

0 投票
13 回答
62728 浏览

angularjs - 在 AngularJS 中突出显示过滤后的结果

我在 angularJS 中使用 ng-repeat 和过滤器,如电话教程,但我想突出显示页面中的搜索结果。使用基本的 jQuery,我会简单地在输入键上解析页面,但我正在尝试以有角度的方式来做。有任何想法吗 ?

我的代码: