0

我正在将 Polymer 1 行为转换为 Polymer 3 mixin。

使用 Polymer 1 行为,我能够在行为中放置一个主机属性。Polymer 3 Mixins 有可能吗?

聚合物 1 行为:

<script>
  AccountBehavior = {
    properties: {
      tabactivated: Boolean
    },

    observers: ['_refreshActivePosts(tabactivated)'],

    _refreshActivePosts: function(tabactivated) {
      if (tabactivated) {
        this.$.account.refreshAjax();
      }
    }
  }
</script>
4

1 回答 1

1

不确定我能准确记得旧主机属性的作用。但是我有这个module我写的来找到一个元素的宿主

export default function domHost(self) {
  let parent = self.parentNode;
  while(parent && parent.nodeType !== 11) {
    parent = parent.parentNode;  //work up the hierarchy
  }

  return parent ? parent.host : self;
}

我经常使用它来向我的托管元素添加事件侦听器,如下所示:-

 connectedCallback() {
    super.connectedCallback();
    this.domHost = domHost(this);
    this.domHost.addEventListener('pas-filelocation-request', this._gotRequest);
  }
  disconnectedCallback() {
    super.disconnectedCallback();
    this.domHost.removeEventListener('pas-filelocation-request', this._gotRequest);
  }
于 2018-11-04T07:49:40.893 回答