问题标签 [polymer-2.x]

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 投票
0 回答
237 浏览

javascript - 聚合物 dom-repeat 防止重复使用节点

首先,我们有data.length == 2,然后我向数组中添加一个新项目并更改所有值。在这些更改之后,我们看到 3 个 div 块,其中第一个和第二个块是旧的(绑定工作正常),只有第三个块是新的。就我而言,我想拥有没有旧块的新子树。我怎样才能实现这种行为?

0 投票
1 回答
451 浏览

polymer - Polymer 2.x:ES6 基于类的语法,元素定义

在此处的预览文档中,有以下代码:

我的问题是:MyElement第一行中的位是否必须与第二行中的位匹配my-element?第一位是否以任何方式受到第二位的约束?或相反亦然?

0 投票
1 回答
757 浏览

polymer - 聚合物 2.0 双向绑定

我正在试验 Polymer 2.0 并有一个简单的课程。它有一个输入文本框,在更改其内容时不响应。需要什么来反映对文本框的更改以反映为双向绑定?

该类的代码如下。

0 投票
2 回答
606 浏览

migration - 是否有任何聚合物 2 迁移工具

有没有像polyup这样的聚合物 2 迁移工具,因为我有几个元素,而 polyup 只是从 0.5 版迁移到 1.0 版。我知道 polyup 效率不高,但至少它跳过了迁移的无聊部分。

0 投票
1 回答
305 浏览

polymer - 聚合物中的动态 html 生成

我正在尝试根据 fabric.canvas.object 中的属性动态生成一个 div。

以下是我的代码的摘录。

这不起作用我收到以下运行时错误 polymer-2-edit.html:1979 The specified value "{{topProperty}}" is not a valid number。该值必须与以下正则表达式匹配:-?(\d+|\d+.\d+|.\d+)([eE][-+]?\d+)? 生成的代码似乎没有获取绑定。

如果我将代码更改为以下 div 将正确显示。html += ''; html += ''

但是当我阅读 this,$.topProperty 或 this.$.topPropertyRange 时我得到了 undefined 我也尝试在后两者上添加 onchange=changeProperty(this) 并且我在调试器中得到 changeProperty is undefined 消息。

我怀疑它期望该功能在聚合物之外,但我需要它在聚合物内部来设置对象属性。

是否有添加动态输入字段和处理所做更改的示例?

0 投票
1 回答
375 浏览

polymer - 我可以在同一个项目中使用两个不同版本的 Polymer 吗?

在已经具有Polymer 1.5组件的项目中使用Polymer 2.0webcomponents编写时出现问题。

有一个错误:

据我了解,错误是由页面上两个版本的 Polymer 之间的冲突引起的。(两个版本都试图创建一个全局对象 Polymer)

有没有办法允许在同一页面上使用两个不同版本的聚合物?(类似于jQuery.noConflict()

0 投票
0 回答
98 浏览

polymer - 我用这种穿透 shadow dom 的方法安全吗

我有一对元素<file-location><file-location-dialog>. 如果用户单击 以<file-location>更改它,它会触发一个自定义事件,该事件正在由元素file-change-request在其 domHost 上侦听。<file-location-dialog>当它接收到这个请求时,它会存储event.path[0]刚刚收到的请求的值,弹出一个对话框,获取新位置,发送一个 ajax 请求以更新数据库,然后在存储的event.path[0]元素上触发一个file-location-updated事件。原始<file-location>元素收到此响应并相应地使用新位置更新屏幕。

我最初开发这个是因为我有一组搜索结果(可能多达 400 个),每个搜索结果都有这个文件位置。我认为我可以通过集中唯一偶尔使用的对话框和 ajax 元素来节省整体 dom 元素。这在搜索对话框中一切正常。

我最近来开发我的应用程序的另一个页面,其中<file-location>再次需要该元素。但是,没有考虑它,我将元素嵌入到<file-location>自定义元素的本地 DOM 中,<pas-appointment>而该<file-location-dialog>元素位于页面的自定义元素中,该页面使用<pas-appointment>内部的元素<template is="dom-repeat">

再次,这“似乎”工作正常。

显然,冒泡元素的层次应该没有问题file-location-request,但我突然意识到本质上file-location-updated是在刺穿shadow dom,因为它似乎无缝地穿过<pas-appointment>边界,就好像它不存在一样。

好的,所以它有效 - 那我为什么要问这个问题?我正在开发一些具有相似性质的其他元素。在我依赖这个设计模式之前,我可以确定它会继续工作,因为浏览器正确地实现了 shadow dom 规范。特别是当我们到达 Polymer 2.0 和 web-components v1 规范时可能会发生什么?

0 投票
1 回答
3063 浏览

polymer - 如何在 Polymer 2.0 中启用 Shady DOM?

Polymer 1.x 默认使用Shady DOM,但可以在初始化时通过window.Polymer在导入前设置对象来更改,polymer.html如下所示:

但是,Polymer 2.0 似乎使用Shadow DOM,而不管window.Polymer = {dom: 'shady'}. 如何切换到 Shady DOM?

0 投票
1 回答
412 浏览

polymer - 如何在 Polmyer 2.x 中获取 mixin 中所有属性的列表?

我有一个 mixin 和一个使用它的类,但是在 mixin(或类本身)中,我似乎无法获得所有属性的列表。this.configundefined,并且this.constructor.config只给我当前类中的属性列表(而不是 mixin 本身中的属性)。

有关更详细的示例,请参见下文。

在控制台中,我只看到变量something. 如何获取所有属性的列表(例如mixInVariablesomething)?

0 投票
1 回答
1208 浏览

binding - dom-bind 与 Polymer 2.0-preview

我想开始将我的 Polymer 1.0 应用程序移植到 Polymer 2.0(预览版)。

我用<template is="dom-bind">在我index.html的支持数据绑定。聚合物 2 也可以吗?我尝试<dom-bind>作为一个组件,但它没有工作。