Javascript 聚合物2.0中的工厂实施

Javascript 聚合物2.0中的工厂实施,javascript,polymer,polymer-2.x,Javascript,Polymer,Polymer 2.x,在Polymer 1.0中,可以检测聚合物元素是否由constructor创建,该函数在创建元素时被触发,名为factorympl() 我不想在Polymer 2.0中做同样的事情,如果我通过构造函数创建一个元素,那么应该触发一个标准函数并做一些事情。以前有没有人做过这件事,并且可以给出提示 非常感谢您可以使用构造函数: class TestEle extends Polymer.Element { static get is() { return 'test-ele'; }

在Polymer 1.0中,可以检测聚合物元素是否由constructor创建,该函数在创建元素时被触发,名为factorympl()

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


非常感谢

您可以使用构造函数:

class TestEle extends Polymer.Element { static get is() { return 'test-ele'; } constructor() { super() console.log('created') } //... 类TestEle.Element{ 静态get是(){return'test ele';} 构造函数(){ 超级() console.log('created') } //... 无论何时创建TestEle,都应该看到“created”日志

<test-ele> </test-ele> // created or document.createElement('test-ele') // created or new TestEle() // created //创造 或 document.createElement('test-ele')//已创建 或 新建TestEle()//已创建 //根据以下评论进行编辑

我在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') } } ... 类TestEle.Element{ 静态get是(){return'test ele';} 建造师(c){ 超级() console.log('created') 如果(c){ console.log('使用构造函数创建') } } ... //创造 或 document.createElement('test-ele')//已创建 或 new TestEle(true)//使用构造函数创建
是的,没错!但是我希望构造函数只有在我通过命令newtestele()创建元素时才会被触发,而不是当我通过手动将元素写入文档树来创建元素时,使用此解决方案,每次编写时都会触发构造函数!它应该仅以您写下的最后两种方式触发。我认为2.0不支持遗留factoryImpl。但是,您可以应用一种解决方法来确定元素是否使用构造函数即new TestEle()创建测试。检查更新的答案。非常感谢这也是我的方法,我希望有更好的方法 <test-ele> </test-ele> // created or document.createElement('test-ele') // created or new TestEle(true) // created and created using constructor