Polymer 3 Mixin - Возможно ли реализовать свойство хоста в mixin, как в поведении Polymer 1? - PullRequest
0 голосов
/ 04 ноября 2018

Я конвертирую поведение Полимера 1 в смесь полимеров 3.

Благодаря поведению Polymer 1 я смог поместить свойство хоста в поведение. Это возможно с Polymer 3 Mixins?

Поведение полимера 1:

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

    observers: ['_refreshActivePosts(tabactivated)'],

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

1 Ответ

0 голосов
/ 04 ноября 2018

Не уверен, что я точно помню, что делает старое свойство хоста. Но у меня есть это 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);
  }
...