Polymer 聚合物dom如果不重新点火

Polymer 聚合物dom如果不重新点火,polymer,dom-if,Polymer,Dom If,我的Polymer 2应用程序一直存在问题,我第一次使用它是路由,但我发现在点击此页面后,当导航回页面时,如果触发Dom,则不会重新触发 例如 如果我在url/matters/6719上,它会显示详细信息页面,但如果我单击“上一步”按钮并转到url/matters,如果dom没有再次被点击,它仍会显示详细信息页面 当使用像PWA启动套件一样设置的导航选择器时,也会发生这种情况 <link rel="import" href="../bower_components/polymer/poly

我的Polymer 2应用程序一直存在问题,我第一次使用它是路由,但我发现在点击此页面后,当导航回页面时,如果触发Dom,则不会重新触发

例如

如果我在url/matters/6719上,它会显示详细信息页面,但如果我单击“上一步”按钮并转到url/matters,如果dom没有再次被点击,它仍会显示详细信息页面

当使用像PWA启动套件一样设置的导航选择器时,也会发生这种情况

<link rel="import" href="../bower_components/polymer/polymer-element.html">
<link rel="import" href="../bower_components/app-route/app-location.html">
<link rel="import" href="../bower_components/app-route/app-route.html">
<link rel="import" href="../bower_components/iron-pages/iron-pages.html">
<link rel="import" href="../bower_components/iron-selector/iron-selector.html">
<link rel="import" href="shared-styles.html">
<link rel="import" href="Matters/matter-list.html">
<link rel="import" href="MatParties/matparty-list.html">
<link rel="lazy-import" href="Matters/matter-detail.html">


<dom-module id="my-matters">


  <template>
    <style include="shared-styles">
      :host {
        display: block;

        padding: 10px;
      }
    </style>

    <app-route route="{{route}}" pattern="/:matter_id" data="{{routeData}}" tail="{{subroute}}">
      <app-route route="{{subroute}}" pattern="/matparties/:this_page" data="{{pageData}}"></app-route>
    </app-route>

    <div class="card">
        <template is="dom-if" if="[[_subidIsDefined(pageData.this_page)]]">
            <matparty-list linkedmatpartyid="[[pageData.this_page]]"></matparty-list>
          </template>
<template is="dom-if" if="[[!_subidIsDefined(pageData.this_page)]]">
      <template is="dom-if" if="[[!_idIsDefined(routeData.matter_id)]]">
        <matter-list></matter-list>
      </template>
      <template is="dom-if" if="[[_idIsDefined(routeData.matter_id)]]">
        <matter-detail linkedmatterid="[[routeData.matter_id]]"></matter-detail>
      </template>
</template>

  </template>

  <script>
    class Matters extends Polymer.Element {
      static get is() { return 'my-matters'; }


      _subidIsDefined(subid) {

        //There are probably ways to optimize this
        if (subid) {

          return true;
        }

        return false;
      }

      _idIsDefined(id) {

        //There are probably ways to optimize this
        if (id) {
          return true;
        }

        return false;
      }

    }
    window.customElements.define(Matters.is, Matters);
  </script>

</dom-module>

:主持人{
显示:块;
填充:10px;
}
类。元素{
静态get是(){return'my matters';}
_子ID定义(子ID){
//可能有一些方法可以优化这一点
if(subid){
返回true;
}
返回false;
}
_idIsDefined(id){
//可能有一些方法可以优化这一点
如果(id){
返回true;
}
返回false;
}
}
window.customElements.define(Matters.is,Matters);

您检查过图案了吗?通常情况下,模式应该尊重url模式。。。。在您的案例中,“url/matters/6719”

因为您已经在路由器上定义了模式=“/matparties/:this_page”,并且matparties是!='“url/matters/6719”中的“matters”,可能会生成错误。我不知道你是否定义了一个基本url,它也会在这方面产生一些问题


因此,url应为matparties/6719,以匹配模式并解析为dom if

我正在将控制台日志放入dom if调用的函数中,单击浏览器后退按钮时,不会点击just