首页 文章

子路由的聚合物应用程序路径问题

提问于
浏览
1

我想请求您的帮助:我有一个具有以下结构的应用程序:

路线:

<my-app>
    - <my-application>
    - <my-admin>
          - <my-adminlogin>
          - <my-workplace>

问题是我正在尝试使用app-route元素进行应用程序路由:

<my-app>元素:

<app-location route="{{route}}"></app-location>
    <app-route
        route="{{route}}"
        pattern="/:page"
        data="{{routeData}}"
        tail="{{subroute}}">
    </app-route>
    <iron-pages role="main" selected="[[page]]" attr-for-selected="name">
        <my-application name="application"></my-application>
        <my-admin name="admin"></my-admin>
    </iron-pages>

聚合物脚本是:

properties: {
        page: {
          type: String,
          reflectToAttribute: true,
          observer: '_pageChanged'
        },
      },
      observers: [
        '_routePageChanged(routeData.page)'
      ],
      _routePageChanged: function(page) {
        this.page = page || 'application';
      },
      _pageChanged: function(page) {
        // load page import on demand.
        this.importHref(
          this.resolveUrl('my-' + page + '.html'), null, null, true);
      }

这项工作非常完美,当我进入应用程序时,my-application元素播出,当我在url中写入时,应用程序会自动显示my-admin元素 . 我知道是否必须在 <my-admin> 元素中创建一个新的 <app-route> 元素,或者如果我必须使用子路由,但在这种情况下我还没有找到使用子路由的方法 .

感谢您对此有任何帮助 .

1 回答

  • 2

    你必须将子路径传递给 <my-admin>

    <my-admin name="admin" route={{subroute}}></my-admin>
    

    然后它成为 <my-admin> 内的主要路线

相关问题