Polymer 2.0中的factoryImplementation

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Polymer 2.0中的factoryImplementation相关的知识,希望对你有一定的参考价值。

在Polymer 1.0中,有可能检测聚合物元素是否是由构造函数创建的,该函数是在创建名为factoryImpl()的元素时触发的。

我不想在Polymer 2.0中做同样的事情,如果我通过构造函数创建一个元素,应该触发标准函数并且应该做一些事情。有没有人以前这样做过,可以暗示这样做吗?

非常感谢

答案

你可以使用构造函数:

class TestEle extends Polymer.Element {
      static get is() { return 'test-ele'; }
      constructor() {
        super()
        console.log('created')
      }
//...

每当您创建TestEle时,您都应该看到“已创建”

<test-ele> </test-ele> // created
or 
document.createElement('test-ele') // created
or
new TestEle() // created

//根据以下评论编辑。

我在2.0中找不到有关旧版factoryImpl的任何信息。但是,有一个可以尝试的工作。

 class TestEle extends Polymer.Element {
      static get is() { return 'test-ele'; }
      constructor(c) {
        super()
        console.log('created')
        if(c) {
           console.log('created using constructor')
        }
      }
...
<test-ele> </test-ele> // created
or 
document.createElement('test-ele') // created
or
new TestEle(true) // created and created using constructor

以上是关于Polymer 2.0中的factoryImplementation的主要内容,如果未能解决你的问题,请参考以下文章

如何在Polymer 2.0中启用Shady DOM?

Polymer 2.0 - 你能写信给 fs 吗?

使用Shady DOM document.getElementByID()的Polymer 2.0

如何在Polymer 2.0 on-tap功能中传递参数?

使用Polymer 2.0的简单web组件:从下拉列表更新值不起作用

如何在Polymer 2.0中更改自定义元素的属性?