方法ルーティング作品(及びXML_view VIEW2ボタンで入力ミス)による変化のカップル。
はSO、ルーティングがどのように動作するか:
- あなたは、URLのハッシュを変更します。
- ルーターはURLの変更を確認し、URLのパターンと一致する最初のターゲットを読み込みます。
パターンでCurly_Braces ie.e {}を指定するとわかるように、値を表します。よりよく理解するために、ルートをfollwing考える:
{
"name": "Emp",
"pattern": "Emp/{EmpID}",
"target": ["View2"]
},
を今、私は私のURLハッシュに変更すると:#/のemp/1を、それがVIEW2をロードします。
また、ハッシュURL::#/ Emp/100、それはロードされますか? view2。右!それはパターンと一致するので、すなわち。 Empの後に値(EmpID)が続きます。
今、あなたのルートを考えてみます。
{
"name": "View2",
"pattern": "{V2}",
"target": ["View2"]
}, {
"name": "View3",
"pattern": "{V3}",
"target": ["View3"]
}
ルートの両方のパターンが値を除いて、両方のと同じであり、何の差別化要因はありません。ルータは常に最初に一致したパターンターゲットをロードすることに注意してください。
だから、URLが#/ 5の場合、view2が読み込まれます(最初にパターンに一致します)。あなたの名前を:view3 name:view2の上に置くと、view3ターゲットが最初に読み込まれます。
他のビューをロードするには、の一意のハッシュURLを作成する必要があります。。それはVIEW2で、ボタンの押しにview3をロードします
{
"name": "View2",
"pattern": "View2/{V2}",
"target": ["View2"]
}, {
"name": "View3",
"pattern": "View3/{V3}",
"target": ["View3"]
}
:
は私にあなたのルートを変更してみましょう。
また、typ2のview2:onPressButton-> change to:onButtonPress(view2コントローラの関数の名前)です。
これが役立つかどうか教えてください。 :)
素晴らしいexplantion。 それは動作します、ありがとう! – macs