Polymer 2.0中的factoryImplementation

问题描述 投票:0回答:1

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

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

非常感谢

javascript polymer polymer-2.x
1个回答
1
投票

你可以使用构造函数:

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
© www.soinside.com 2019 - 2024. All rights reserved.