1

为什么我的元素在通过 iron-component-page 元素(在 Polymer Seed Element 演示中)提供时会引发以下错误,但在通过我的应用程序正常提供时却不会?

Uncaught TypeError: this.hoodie.account.signUp is not a function

该演示发布在http://timblack1.github.io/hoodie-accountbar/components/hoodie-accountbar/

this.hoodie应该由 hoodie.js 创建,它会根据开发工具的网络选项卡加载。但是该this.hoodie对象没有包含应有的方法和属性,包括.account.signUp()方法。 this.hoodie.account存在,但只是作为一个空对象。

我正在通过元素<script>中的标签加载 hoodie.js,该标签hoodie-servicehoodie-accountbar. Iron-component-page 元素在演示元素中加载标签时是否会做任何有趣的事情?还是水解?

4

1 回答 1

0

@scarygami 的评论指出了解决方法。问题是已发布的属性是通过 运行的JSON.stringify(),这会剥离在那些已发布的属性对象上定义的任何方法。所以我通过不再使该hoodie属性成为hoodie-accountbar元素上的已发布属性来修复此错误。修复位于https://github.com/timblack1/hoodie-accountbar/commit/db8d3071e4ad53a71b3d0e834075f00967c2e4a4

于 2015-08-04T23:55:18.997 回答