2016-11-06 6 views
0

私はsencha extjsを使ってモバイルアプリケーションを開発しています。私はアンドロイドの携帯電話に戻るボタンをサポートするために私のアプリケーションをしたい、そして、私はこの問題で解決することができる煎茶ルートを使用して把握する。私はルートを使用する多くのビューがあり、いくつかのビューはお互いに関連しています。したがって、一部のビューコントローラにはパラメータが必要です。たとえば、ビューを表示するには、ビューでビューアクションのビューリスナーを使用します。ルートコントローラでSenchaがパラメータを持つルートを呼び出す

viewA : function(obj1, obj2){ 
    //obj1, obj2 are required to open that view 
    this.redirectTo('myViewA', ture); 
} 

routes: { 
    'myViewA' : { 
     action: 'onMyViewA' //method onMyViewA to view viewA 
    } 
}, 
{ 
    onMyViewA : function(){ 
     //view viewA need parameter obj1, obj2 
    } 
} 

私の質問は、どのように私は、ルートコントローラにパラメータOBJ1、OBJ2を渡すことができるということですか?これを解決するために他の解決法があります。ありがとう。

routes: { 
    'myViewA/:id1/:id2' : { 
     action: 'onMyViewA' //method onMyViewA to view viewA 
    } 
}, 
{ 
    onMyViewA : function(id1, id2){ 
    } 
} 

そして、あなたのビューで、このようなルートにパラメータを追加します:あなたはあなたのルートを登録すると

答えて

0

あなたはこのようなパラメータを追加することができます

viewA : function(id1, id2){ 
    if (id1 && id2) 
     this.redirectTo('myViewA/' + id1 + '/' + id2, true); 
} 

this linkroutesのドキュメントをチェック詳細については。また、パラメータの検証を行うこともできます。

obj1obj2が複雑なオブジェクトの場合は、それらのオブジェクトをどこかに格納するカスタムロジックを記述し、idまたはルートのURLへの参照のみを置く必要があります。

0

&シンボルの助けを借りてパラメーターを渡すことができます。 www.any.com/any/#param1 &値1 & param2 &値2のようにデータを渡すことができます。 次に、これらのトークンをそれぞれのキーと値のペアで区切ることができます。 しかし、あなたはURLを通してオブジェクトを渡すことはできません。

関連する問題