2016-11-23 4 views
3

ポリマーのアプリルートデータオブジェクトを変更してURLを変更することはできますか?ここで説明するように:https://www.polymer-project.org/1.0/toolbox/routing#change-routesアプリルート要素のデータでURLを変更する方法

この例では、this.set( 'routeData.user'、 'mary');を使用しています。 URLを変更します。

私たちのケースでは動作していないので、私たちのコードで問題を見つけることはできません。

attached: function(){ 
    var self = this; 

    setTimeout(function(){ 
     self.set('routeData.view', 'GNAAA'); 
    }); 
    } 

は、アドレスバーのURLが http://localhost:8888/polymer/index.html#/GNAAA

で予想:我々はこれを使用している私たちの添付ライフサイクルイベントで

<app-route route="{{route}}" 
      pattern="/:view" 
      data="{{routeData}}"> 
</app-route> 

:私たちは、ほぼすべての我々のコードを削除し、ちょうどこのアプリ、ルータの設定を使用して

しかし、私たちだけが持っています http://localhost:8888/polymer/index.html#/

ここでは何が欠けているのですか?なぜドキュメントに記載されているようにデータオブジェクト経由でURLを設定できないのですか?おそらくそのバグ?しかし、私たちはapp-routeのGutHub Buglistで何かを見つけることはできません。

更新:URLからクエリパラメータを取得するためにiron-locationも使用しています。鉄の場所を取り除くと、すべてが期待どおりに機能します。そこで私たちは現在githubに関する問題を作成しました。

答えて

0

<app-route>の前に<app-location route="{{route}}"></app-location>を追加してください。

または、iron-locationを使用することを好む場合は、iron-route-converterを使用します。

<iron-location path="{{path}}" query="{{query}}"></iron-location> 
<iron-query-params 
    params-string="{{query}}" 
    params-object="{{queryParams}}"> 
</iron-query-params> 
<app-route-converter 
    path="{{path}}" 
    query-params="{{queryParams}}" 
    route="{{route}}"> 
</app-route-converter> 

また、<link rel="import">タグやあなたのコンポーネントのすべての使用される部品はそれについてあなたに告げず、機能しませんインポートすることを忘れないでください。

関連する問題