聚合物铁形式不起作用

时间:2015-06-12 16:23:25

标签: polymer polymer-1.0

我的html中有以下标记:

<form is="iron-form" login-form>
    <paper-input label="Email" type="email" name="email"></paper-input>
    <paper-input label="Password" type="password" name="password"></paper-input>
    <paper-button class="self-end btn-primary" raised login-btn>Login</paper-button>
</form>

在chrome中,表单永远不会升级为铁形式,但它在firefox中运行良好。但是,我可以使用:document.createElement('form', 'iron-form');创建一个正确升级的铁形式。 这真让我抓狂。有任何想法吗?感谢

1 个答案:

答案 0 :(得分:2)

我不确定为什么iron-input应该有所不同。当您在模板中创建铁输入时,您确定铁输入是否正常作为Polymer元素? (例如,它是否具有像debounce这样的实用函数?)我问,因为它看起来像标准输入。

查看Meteor代码,它看起来不像任何类型扩展元素应该工作。据我所知,所有标签创建看起来都在这里:

https://github.com/meteor/meteor/blob/832e6fe44f3635cae060415d6150c0105f2bf0f6/packages/blaze/materializer.js#L99

要处理类型扩展自定义元素,我认为这需要另一个分支,它可以执行以下操作:

} else if (tag.attrs && ('is' in tag.attrs)) {
  // type-extension custom element
  elem = document.createElement(tagName, tag.attrs[is]);     
} else {
  // normal elements
  elem = document.createElement(tagName);
}

只有你有本地自定义元素支持或者你安装了polyfill时,两个arg createElement才会起作用,因此Meteor可能希望以另一种方式处理它。

相关问题