问题 如何解决“在元素名称上的属性是在Polymer升级元素之前绑定的数据?


自从最新版本的Polymer(0.2.4)以来,我收到了一系列元素的以下警告:

us-requests-list上的属性是在Polymer升级元素之前绑定的数据。这可能导致不正确的绑定类型。

我该如何解决此警告?我在Github上发现了以下问题:

https://github.com/Polymer/polymer-dev/issues/20

他们说:

在升级之前对元素进行的绑定最终会成为   属性绑定,期望属性绑定。

通常,当用户加载元素定义时会发生这种情况   乱序。

但是,这是什么意思?对我来说,对于根本没有任何绑定或属性的元素会发出警告。

也许有人可以向我解释这些词是什么意思所以我可以更具体地说明我的问题。在我看来警告是随机发生的,我唯一能说的就是它们只发生在嵌套在其他自定义元素中的自定义元素上,但我认为它不会发生在我所有嵌套的自定义元素中。


4211
2018-05-26 12:47


起源

你能分享一下示例代码吗? - Ajay Beniwal


答案:


当我在过去遇到这种情况时,这意味着我以错误的顺序定义了我的聚合物元素。因此,如果你在一个文档中定义了两个元素my-elem1和my-elem2,而my-elem2依赖于my-elem1,那么my-elem1的定义应该首先出现,或者你可能会看到像数据一样没有按预期传播的错误。


11
2018-05-26 22:51



基本上这意味着你必须订购你的html导入。 - Tinco


您还可以通过使用以下代码(而不是innerHTML =)在Polymer.import的回调中添加元素来避免警告:

Polymer({
     ready: function() {
         Polymer.import(["urlToImport"],
                        this.elementImportComplete.bind(this));
     },
     elementImportComplete: function() {
         // Do it this way to avoid polymer's data binding warnings (and not 
         // by using innerHTML)
         var el = document.createElement(this.feedTypes[this.type]);
         this.$.container.appendChild(el);
     }
 });

1
2018-02-19 16:52