javascript - Polymer 2.0 中的工厂实现

标签 javascript polymer polymer-2.x

在 Polymer 1.0 中,可以检测 polymer 元素是否由构造函数创建,该函数在创建元素时触发,名为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

关于javascript - Polymer 2.0 中的工厂实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46115768/

相关文章:

javascript - 是否有任何 JavaScript 标准 API 可以根据语言环境解析为数字?

javascript - Firebase 中的数组通过 dom-repeat 解释为 Polymer 中的对象

javascript - 访问 Polymer dom-repeat 模板中的元素

javascript - Polymer 1.0 中带有铁列表的平滑自动滚动

javascript - 从子组件函数更新 React 状态

javascript - 内容脚本未注入(inject)选项页面

polymer-2.x - Polymer 2. 在iron-ajax响应后更改其他html页面(iron页面)上的值

javascript - 当用户单击时关注自定义元素并在其后面创建覆盖层

javascript - 仅用于 if 的简写

caching - 灯塔和 polymer : start_url in manifest is not cached by Service Worker