最近、私たちのアプリケーションをng-routeからUi-Routerに移行しました。そして我々はルーティングに関するいくつかの点をリファクタリングしようとしています。角度UI-Router:親なしで子状態を呼び出す方法
私たちのアプリケーションには、リストビューと詳細ビューがあります。詳細ビューはリストビューの上にポップアップとして表示されるので、すべてのリストコントローラロジックを何度も初期化しないために、詳細ビューを子ビューステートとして定義しました。これは次のようになります。
$stateProvider
.state('list',
{
url: "/",
template: '<list-directive></list-directive>'
})
.state('list.detail',
{
url: "/detail/{item_id}",
template: '<detail-directive></detail-directive>'
})
実際には期待どおりに動作します。リストビューから詳細ビューを開くと、リストビュー(コントローラを意味する)が再び実行されず、詳細ビューを閉じるとリストビューが残ります。
しかし、今度は、を取り消すことなく、詳細ビューDIRECTLY を呼びたいと思います。現在、詳細状態を直接呼び出すと、親コントローラも実行されます。これをどのように達成できますか?
このシナリオでは、親子関係は適切ではありませんか?
あなたの状態定義にコントローラを追加しようとしましたか?なぜ2つの州の間にloinkがない場合、子供の州を使用するBTW? – DMCISSOKHO
@Abhijeetそのようには動作しません。私は自分自身を活性化させたいです。 – akcasoy
@DMCISSOKHOコントローラーではなく状態定義にディレクティブを追加しています。コントローラーはディレクティブで定義されています。しかし、私はそれがsthを持っているとは思わない。あなたの2つの質問について:それはまさに私がここに尋ねる理由です.. "私は親子関係を使うべきですか?" ... – akcasoy