2017-03-09 5 views
2

<app-route>でサブルートするたびに、<app-location>(たとえば、親ページと子ページ)が複数必要ですか?または、アプリケーションごとに1つだけ<app-location>がありますか?複数の<app-location>要素がPolymerにありますか?

+0

私は現在、同様の何かに取り組んが、複数の 'アプリ-場所を持っています'要素は私が間違っているのでなければ、それらを矛盾させます。あなたがその仕事を得る方法についてこれについての洞察を得たら聞くのが大好きです – MikeM

+0

私の質問に関しては、あなたは複数のものを "必要としません"。 ''パスは埋め込み子に送られるので、特異な ''で十分です。私は自分のアプリケーションが1つの場所要素でしか動作しないようにすることができました。 – FrinkO

答えて

0

app-route要素の値がtail paramです。それには、パターンと一致しないURLの一部が含まれています。

テールの最初のアプリケーションのルートは、ルート秒のように適用できます。

私のアプリケーションでは、/ax_admin/object/6/grid/5のようなURLがあります。 だから私は4アプリ-ルートの合計が必要になります。

<app-route route="{{route}}" pattern="/ax_admin/:view" data="{{view_route_data}}" tail="{{view_tail}}"> 
<app-route route="{{view_tail}}" pattern="/:id" data="{{id_route_data}}" tail="{{id_tail}}"> 
<app-route route="{{id_tail}}" pattern="/:subview" data="{{subview_route_data}}" tail="{{subview_tail}}"> 
<app-route route="{{subview_tail}}" pattern="/:subid" data="{{subid_route_data}}" tail="{{subid_tail}}"> 

は、それから私は、URLの変更を検出するために、カスタムオブザーバを使用します。

is: "ax-admin", 
observers: [ 
    '_routeChanged(route.*)' 
], 
_routeChanged: function(route){  
    if(this.view_route_data && route.path == "route"){ 
     this.page = this.view_route_data.view; 

     if(this.view_tail && this.view_tail.path){ 
      this.object_id = this.id_route_data.id*1 ; 

      if(this.id_tail && this.id_tail.path){ 
       this.subpage = this.subview_route_data.subview; 

       if(this.subview_tail && this.subview_tail.path) 
         this.view_id = this.subid_route_data.subid*1; 
      } 
     } 
    } 
} 
関連する問題