问题标签 [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 投票
1 回答
180 浏览

javascript - Polymer 2.0:在 Chrome 上的测试中未呈现子组件

我有一个使用 2 个不同组件的简单聚合物组件。在页面上使用时,一切正常,但是当我运行测试时,它们仅在 Chrome 上失败。子组件的内容moment-element并且duration-view不被渲染。

我在第二次expect调用时遇到断言错误:

console.log_computeDurationchrome 上测试时,in 仅输出默认值(或空)。

这在 Firefox 上运行良好,在 Chrome 上失败。试验结果:

0 投票
0 回答
88 浏览

javascript - 如何扩展 Polymer 的 dom-repeat

我想更改 Polymer 的 dom-repeat 的一些属性,特别是我想更改 'as' 属性的默认值并更改 'items' 属性的名称(或添加别名)。

我承认这不是一个特别重要的问题,但它有助于减少应用程序中的一些术语重叠。另外我只是好奇如何去做。

我想我也许可以创建一个扩展 Polymer.DomRepeat 的类,适当地添加/调整值,并将该新类注册为自定义元素..然后使用 ... 它本质上是一个 dom-repeat 元素,但经过我的调整。那没有用 - 它甚至没有执行 dom-repeat 功能,不确定模板元素是否甚至与“mycustomelement”相关联/注册。

我知道我可以创建一个完整的 PolymerElement 来包装 dom-repeat,或者使用 Templatizer 重新创建 dom-repeat,但这似乎比我需要的要复杂,我不想添加 shadow-dom 等。

无论如何,只是在寻找想法,想法?

PS。我正在使用聚合物 2.0

0 投票
2 回答
154 浏览

javascript - 是否可以使用 Polymer 2 构建浏览器扩展?

浏览器扩展是指 WebExtension https://developer.mozilla.org/ru/Add-ons/WebExtensions

我尝试将其仅用于本地文件并得到:

CORS 策略已阻止从源“null”访问“file:///”处的导入资源:无效响应。因此,Origin 'null' 不允许访问。

WebExtension(特别是用于弹出设置)没有特定的服务器。他们的链接就像 chrome-extension://pkngljipephggpkgjfkjhggmcjfmhgkn/page.html

0 投票
1 回答
1143 浏览

javascript - Polymer 2.x:在 ES6 Web 组件中包装外部 JS 库

我正在尝试使用 Polymer 2.0将 progressbar.js 库包装在ES6 Web 组件中。

我收到以下错误消息。

控制台错误

render-status.html:54
Uncaught TypeError: ProgressBar.SemiCircle 不是
HTMLElement.animateCircle (progress-bar.html:108) 的构造函数
。(progress-bar.html:85)
在 callMethod (render-status.html:51)
在 runQueue (render-status.html:42)
在 render-status.html:29

这是我试图包装在 Polymer 元素内的以下代码的工作 JSFiddle 。

src/progress-bar.html src/progressbar-js.html
0 投票
1 回答
98 浏览

polymer - Polymer 2.0 版本问题

我正在尝试制作一个将图像上传到服务器的元素。我正在使用这个组件

问题是,如果我将上述元素与聚合物 1.0 一起使用,那么它就像一个魅力,但如果我将它与聚合物 2.0 一起使用,那么它的某些功能(如进度条和删除按钮)将不起作用。

我正在使用 Bower 来安装这个元素,并且在安装这个元素时(在聚合物 2.0 中)我得到了许多不同的选择,例如:

在此处输入图像描述

我应该选择哪一个?

0 投票
2 回答
1504 浏览

polymer - Polymer 2 动态合并模板

我正在尝试构建呈现 JSON 对象集合的通用 Web 组件,例如树视图和多列表视图(在两个列表之间移动项目)。我想复制 iron-list 使用的模式,其中包含单个项目表示的模板被传递到组件中以供重用。

例如,给定这个 Web 组件模板:

和这种用法:

我想在一个层次结构中呈现 JSON 树数组,该层次结构结合了 Web 组件的模板以及通过插槽提供的模板来呈现不透明的 JSON 对象。到目前为止,我已经确定了两种组合模板的方法:

  1. 利用 Polymer.Templatize.templatize API 加载模板,创建/标记新实例,并使用 DOM API 将它们附加在一起并将它们添加到 Web 组件的影子 DOM。

  2. 访问模板内容,将它们组合在一起,创建并导入新模板,然后根据需要克隆它。

在经历了很多逆境之后,我能够成功地实施#1 但不是#2,这就是我提出问题的动机。#2 对我更有吸引力,因为我更容易合并模板一次,而不是合并它们生成的标记实例,而且这种方法似乎是我可以重用嵌套模板(如 dom-repeat)的唯一方法。

我的主要障碍是,一旦加载了 Polymer 或者它的 polyfill,模板就会变得不透明,并且只能由 Polymer 模板化功能使用。例如,此代码在没有任何 Polymer 导入的情况下工作正常:

在 Polymer 之外,template.content DOMFragment 有子元素并设置了 innerHTML。然而,一旦使用了 Polymer,template.content 就没有子元素,并且 innerHTML 是空的。这使我无法使用 DOM API 创建一个将可用模板混合在一起的新模板,即

也许通过设计使用标准 HTML 机制导入模板对我不起作用。是否有另一种方法可以在运行时使用 Polymer 动态创建/合并模板?同样,我的主要动机是我想重用嵌套在模板中的 dom-if 和 dom-repeat Web 组件,而无需重新实现它们的所有功能。

0 投票
1 回答
327 浏览

javascript - Polymer - 从父级获取元素

我有一个可以使用 firebase 登录的应用程序。我为此使用了polymerfire。有一个主要的应用程序元素:my-app有这些孩子:

page随元素的statusKnownanduser属性而变化。firebase-auth虽然statusKnown是页面是可见false的。loadingstatusKnownis时,true它选择任home一屏幕,当userisnull或 users时dashboard

屏幕home上有一个登录按钮,然后单击它必须调用该firebase-auth函数signInWithPopup()。但是firebase-auth无法从元素访问该my-home元素。它不能通过属性找到document.getElementByID或作为属性传递。或者以某种方式访问​​ if 使用父指针this.parentElement.$.auth.signInWithPopup()

我怎样才能auth从孩子那里得到元素?

0 投票
1 回答
1061 浏览

javascript - 尝试查看聚合物 v2.0 应用程序时,如何解决错误“未捕获的 TypeError:没有'new' 的情况下无法调用类构造函数 m”

尝试在 ios 的 safari 上访问聚合物 v 2.0 应用程序时,如何解决以下错误?

未捕获的类型错误:如果没有来自 custom-elements-es5-adaptor 的“new”,则无法调用类构造函数 m。

运行聚合物 v2.0 入门套件在 chrome 中运行良好,但是在尝试 ios 时会引发上述错误。

0 投票
0 回答
238 浏览

ajax - 在其他端口/主机上运行后端测试聚合物项目

我正在构建一个将成为restapi前端的聚合物项目。

使用它在本地提供前端服务会$ polymer serve启动服务器http://127.0.0.1:8081

我的后端也可以在本地运行$ python -m swagger_server并监听:http://127.0.0.1:8080

我想做ajax请求iron-ajax

但不同的端口号使其成为跨域请求:

XMLHttpRequest cannot load http://localhost:8080/api/order. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8081' is therefore not allowed access.

此外,这仅用于测试;在生产服务器上,跨域问题将通过为前端(on /)和后端(on /api)提供服务的网络服务器来解决。在部署之前,我将不得不删除所有http://127.0.0.1:8080并只留下路径/api/orders

0 投票
1 回答
518 浏览

jenkins - 将 Polymer 测试构建过程集成到 Jenkins CI/CD 管道中

我想使用 polymer-cli 将我们的 Polymer 测试构建过程集成到 Jenkins CI/CD 管道中。我想自动化这些步骤来构建我们的 Web 组件测试用例。目前,我通过在终端上执行“聚合物测试”手动执行此操作。我还希望自动化过程提供指示失败的测试用例的报告。如果您已在 CI/CD 管道中实施此步骤,请提供步骤。