0

ロード中にスコープと ng-view を初期化することは可能ですか?

問題:
リセラーのリストを含む AngularJS アプリがあります。地図上で再販業者を選択し、ルート上のオーバーレイ div (ng-show="show" で呼び出す) で詳細を開くことができます。

when(
    '/dealer/:id', {
    templateUrl: 'files/tpl/dealer-details.html?19',
    controller: 'DealerDetailsCtrl',
    activetab: 'details'}
).  

クライアントは、顧客がページを開いたときに、最初の詳細オーバーレイが詳細とともに開かれることを望んでいます。

解決策 (可能):
おそらく ng-init を使用して、選択したリセラーのハードコードされた :id をコントローラーに送信し、詳細オーバーレイをトリガーして、ロード時に開くことはできますか? または、ID でルートをトリガーすることもできます。

4

1 に答える 1

0

私があなたを正しく理解していれば、提供されていない場合は :id のデフォルト値が必要ですか?

最良のオプションは、次の 2 つのwhen句を に含めること$routeProviderです。

$routeProvider.when(
    '/dealer', {
    templateUrl: 'files/tpl/dealer-details.html?19',
    controller: 'DealerDetailsCtrl',
    activetab: 'details'}
);
$routeProvider.when(
'/dealer/:id', {
templateUrl: 'files/tpl/dealer-details.html?19',
controller: 'DealerDetailsCtrl',
activetab: 'details'}
);

コントローラーで、定義されていない場合はデフォルト値を割り当てることができます。

$scope.dealer = $routeParams.id || 'defaultDealerId';
于 2013-01-13T22:52:02.407 に答える