问题标签 [dom-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 回答
802 浏览

binding - dom-repeat 内的聚合物类绑定不起作用

我正在尝试将计算值绑定到 dom-repeat 模板中的元素。

我的目标是在用户选择其中一项时更新下拉项样式。发生这种情况时,我selectedItems通过将项目值推送给它来更新数组。这将触发选择框的呈现,但将无法调用_itemClass(selectedItems)表达式。

我在这里想念什么?我在文档中读到,您必须指定将触发绑定的属性,我通过将 添加selectedItems到绑定表达式来做到这一点,根本没有运气。

我附上了一个带有当前行为的片段。

欢迎任何帮助。

0 投票
3 回答
120 浏览

javascript - 来自 Firbease 的数组被解释为具有 dom-repeat 的 Polymer 中的对象

dom-repeat在 Polymer 中使用重复从 Firebase 加载的数组,但我无法弄清楚为什么会出现“项目的预期数组,找到对象”错误,如下面的屏幕截图所示。这是我正在使用的代码:

浏览器视图和控制台

在此处输入图像描述

data-firebase是我创建的一个元素,它从 FB 加载数据,正如您在控制台中成功看到的那样(2 个对象的数组是我想要加载的

加载前的空数组 我检查了加载前我拥有的对象中是否有一些非数组数据,但正如您在控制台中看到的那样,它只是一个空数组。如果我停止从 Firebase 加载数据,也没有错误

Firebase中有意义的数组 我也查了FB中的数据,它表示为一个JSON数组(可以看到导出数据的时候,数据导出在数组括号[]中)

问题:数据已加载但错误仍然 存​​在 dom 重复怎么会发生(如您所见已呈现)并且在控制台中还有一个数组,但我仍然收到此错误?

非常感谢!

亲切的问候,蒂姆

0 投票
0 回答
56 浏览

polymer - 跟踪 dom-repeat 创建的子节点,除了添加/删除之外的更新

我有一个应该跟踪其子节点中的信息的主机组件。子节点是使用 dom-repeat 创建的:

我可以跟踪 dom-repeat 添加或删除的节点:

items但是 dom-repeat 会在其更改时回收现有节点。因此,例如,当data[a,b]to更改时,[c,d]它将重用两个现有节点,因此不会调用 _nodesChanged。

主机组件知道回收的子节点何时更新的好方法是什么?宿主组件应该能够在不知道子组件内部工作原理的情况下这样做(封装原则)。

0 投票
2 回答
135 浏览

polymer - 聚合物进料值进入第二个 dom-repeat

我正在尝试在 dom-repeat 中使用 dom-repeat 在 json 数组中的 json 数组上。如何将第一个数组中的值传递给第二个 dom-repeat?

为了说明,我有以下加载正常的 json 数组:

我正在遍历数组“书籍”并检索标题和简介。然后在下面,我希望列出每本书的两位作者,并且我还想要以 /slug/author (fi /b1/author1) 格式的每个作者的链接。但是因为在第二个 dom-repeat 我重新定义了“项目”,“slug”不再可用。我该怎么做?

我对 Polymer 也很陌生,所以感谢您帮助我学习!

0 投票
2 回答
842 浏览

javascript - 聚合物:dom-repeat 像元素的局部变量

我想创建一个控件,将数据转换为我需要的东西。

目前,我用一个全局变量来解决这个问题。代码看起来像这样:(小写功能只是为了以简单的方式演示它。通常我想将它用于对象数组。例如,获取某些名称和 id 的不同值)

用法:

如果我只使用该变量lower一次,此解决方案效果很好。在 a 内部<dom-repeat>,我遇到了问题。

如何轻松制作仅在内部可用的自定义变量my-tolower?和Polymer的dom-repeat完全一样吗?

我查看了Polymer 的<dom-repeat>代码,但我不知道它是如何工作的。这甚至可以在自定义元素中实现吗?我需要创建自定义模板吗?


为了更好地解释我的问题,我添加了一个更大的示例来详细解释我的问题。

演示

0 投票
1 回答
334 浏览

javascript - 当使用 .innerHTML 添加 HTML 块时,使聚合物 dom-repeat 工作

我正在开发一个聚合物应用程序,我需要从外部文件中获取一些 HTML 代码块并附加到活动文件中。我已经指定了要自己添加的内容。

下面是代码

当我循环celsius使用 dom-repeat 时,它工作正常。但是如果使用document.getElementById("content").innerHTML它的给定添加相同的代码

Polymer::Attributes: 无法将数组解码为 JSON 警告。

如何解决这个问题。

0 投票
0 回答
649 浏览

polymer - 聚合物 dom-repeat 不显示动态添加的值

聚合物 dom-repeat 未按预期工作,当我动态地将新元素添加到数组时,dom-repeat 不显示该值。

将项目推入数组时,我正在使用 Polymer 的数组变异方法,但仍然无法正常工作。

请检查codepen链接;

http://codepen.io/nareshchennuri/pen/vxjvdO

0 投票
1 回答
270 浏览

polymer - Polymer 在立即进行脏检查和分配后执行完整的 dom-repeat

我有一个包含子属性的数组,子属性又是对象和子数组。

当我从服务器获得 API 响应时,我曾经使用 dom-repeat 显示该响应,并且当我获得另一个相同格式的 API 响应且其值发生微小变化时,我将用脏检查的新数组替换旧数组像

但是当我这样做时,只有一些纸质列表会更新其值已更改,dom-repeat 不会创建所有节点,它只会更新那些值已更改的节点。

当我像这样清除数组时.arr = []; 在这种情况下,它将销毁所有节点,

但如果我立即再次重新分配它只会更新节点。

如何清除所有节点并从头开始执行 dom-repeat?我尝试了聚合物阵列突变和 render() 函数并引用了https://github.com/Polymer/polymer/issues/4041 不起作用!每一次。

我需要以类似于第一次渲染的方式渲染 dom-repeat,例如空白屏幕和立即渲染

0 投票
0 回答
24 浏览

polymer-1.0 - 聚合物。dom-repeat 后,子 offsetLeft 返回无效值

我执行一个 dom-repeat 来用一些项目填充一个水平弹性框。在 dom-change 事件中,我试图获取创建的 flexbox 子项之一的 offsetLeft,以便滚动到它以使其可见。

我的问题是,无论我要求什么孩子,offsetLeft 总是返回一个对应于第一个孩子的值。它只发生在最近执行 dom-repeat 之后。如果在点击孩子时执行相同的代码,它可以正常工作。

任何人有任何解决问题的建议,或获得相同结果的其他策略?

非常感谢提前

0 投票
2 回答
316 浏览

polymer - 在“dom-repeat”中切换“paper-dialog”

我在页面中有一个“纸质对话”对象。如果它不在“dom-repeat”循环内,我可以通过按钮切换它。但是如果我把它放在一个循环中,“this.$.dialog.toggle();” 然后将引用null。

知道为什么“this.$.dialog”在将对话框放入循环后变为空吗?