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 的默认值(如果未提供)?

最好的选择是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 回答