我的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');
创建一个正确升级的铁形式。
这真让我抓狂。有任何想法吗?感谢
答案 0 :(得分:2)
我不确定为什么iron-input
应该有所不同。当您在模板中创建铁输入时,您确定铁输入是否正常作为Polymer元素? (例如,它是否具有像debounce
这样的实用函数?)我问,因为它看起来像标准输入。
查看Meteor代码,它看起来不像任何类型扩展元素应该工作。据我所知,所有标签创建看起来都在这里:
要处理类型扩展自定义元素,我认为这需要另一个分支,它可以执行以下操作:
} 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可能希望以另一种方式处理它。