问题标签 [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.
angularjs - ng-repeat 结合自定义指令
我在将 ng-repeat 指令与我自己的自定义指令结合使用时遇到问题。
HTML:
JS:
这里的问题是没有任何东西被替换。我想要完成的是 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 不是静态的,它是从外部数据动态生成的。
我对我的标记太挑剔了吗?
大概。:-)
任何帮助表示赞赏。
angularjs - 在表内的行上使用 ng-repeat 和 ng-class
我正在使用 AngularJS,我想要获得的效果将类似于它会产生的效果,假设它会起作用(它不会起作用)。
看法
控制器
我意识到这段代码不起作用,因为person
它不可用,ng-class
因为它只对每行内的对象可用。代码是为了了解我想要做的事情:即。我希望能够拥有使用ng-repeat
其类创建的表行也基于一个条件,该条件取决于对行本身的范围特性的访问,例如。person
. 我意识到我可以在列上添加 ng-class 但这很无聊。有人有更好的想法吗?
angularjs - 如何在 ng-repeat 中获取上一项?
我有一个模板,只有当当前项目与前一个项目有一些不同的字段时,我才想在其中生成一些 HTML。如何访问 ng-repeat 中的上一个项目?
angularjs - AngularJs - 访问 ng-repeat 中的 DOM 元素
我有下一个模板:
在我的控制器中,我有:
谢谢
angularjs - 带有 ng-repeat 的 Angularjs 为相同类型的多个元素生成相同的 id
我有一个 html 页面,其中我有一个对象“消息”,该对象具有一个属性“属性”,它是一个对象数组。问题是当我使用'ng-repeat'迭代'Message.Properties'项目以呈现我用angularjs创建的某些自定义元素时,它会生成一个id,我为相同的元素得到相同的id类型。这是我的代码示例:
重新表述,当元素“sdk:selectbox”被编译时,如果我在 Message.Properties 中有 2 个具有相同类型的属性(例如:9),则生成的 id(创建的 html 输入)对于两者都是相同的(虽然我是随机生成的),但是对于不同的输入,我当然需要不同的 ID。我读到 ng-repeat 会为每个项目复制模板,是吗?!如何解决?我将不胜感激任何帮助。
angularjs - ng-repeat 键不使用 JSON 数据显示
我的服务抓取 JSON 数据并将数据成功返回到控制器,但是我在使用 ng-repeat 迭代键名时遇到问题。
我想将页面上的键名称显示为列表,因为它们是类别名称。
目前 ng-repeat 迭代正确的次数,但它不显示键名。
控制器:
服务:
JSON数据:
看法:
angularjs - AngularJS:从模型数组拼接模型元素时,不会更新 ng-repeat 列表
我有两个控制器,并通过 app.factory 函数在它们之间共享数据。
单击链接时,第一个控制器在模型数组 (pluginsDisplayed) 中添加一个小部件。小部件被推送到数组中,并且此更改反映到视图中(使用 ng-repeat 显示数组内容):
该小部件建立在三个指令之上,k2plugin、remove 和 resize。remove 指令将跨度添加到 k2plugin 指令的模板。单击所述跨度时,共享数组中的右侧元素将被删除Array.splice()
。共享数组已正确更新,但更改未反映在视图中。但是,当添加另一个元素时,在删除之后,视图会正确刷新,并且不会显示先前删除的元素。
我怎么了?你能解释一下为什么这不起作用吗?有没有更好的方法来做我想要用 AngularJS 做的事情?
这是我的 index.html:
这是我的 main.js:
javascript - 分组 ng-repeat 并在指令之外修改 DOM
我不确定如何描述我遇到的问题,或者即使它是一个问题。我想我很难理解 Angular 指令是如何工作的。欢迎任何关于最佳实践的建议和/或意见。
我的控制器的 $scope 中有一个简单的对象数组:
假设我想从这个数据模型创建一个 DOM 结构:
我可以在这个 plunker中实现与此接近的东西。
然而,在那里,我最终得到了一个我不想要的稍微不同的 DOM 结构。
所以,我的问题是:
- 我是否正确地考虑了这个问题?我是否应该修改我的数据结构以按日期对其进行分组,然后只对每个单独的日期进行 ng-repeat?
- 如果有办法用我现有的数据结构做到这一点,我是否需要在生日男孩/ng-repeat 指令之外修改 DOM?
- 有没有办法将 ng-repeat 指令包装成自定义的东西 - 我已经开始研究 compile 函数但是,只是不确定......
谢谢!
angularjs - 在 AngularJS 中突出显示过滤后的结果
我在 angularJS 中使用 ng-repeat 和过滤器,如电话教程,但我想突出显示页面中的搜索结果。使用基本的 jQuery,我会简单地在输入键上解析页面,但我正在尝试以有角度的方式来做。有任何想法吗 ?
我的代码: