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

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

为什么我的元素在通过 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 存在,但只是一个空对象。

我正在通过 hoodie-service 元素中的 <script> 标记加载 hoodie.js,该元素由 hoodie-accountbar 加载。 iron-component-page 元素在 demo 元素中加载标签时会做一些有趣的事情吗?还是水解?

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