1

我希望用户能够链接到特定的查看状态。

当用户访问时,我正在尝试将控制器路由到页面的特定状态http://localhost:3000/resource/#!/1

我的配置是:

   $routeProvider.when('/:memberId', {
      controller: 'MemberDetailsCtrl'
    });
   $locationProvider.html5Mode(false).hashPrefix('!');

我一直在尝试很多,似乎 $route 在所有范围都完成生成之前是未定义的。这意味着我无法执行

$http.get('/resource/' + $route.current.params.memberId + '.json')

在控制器/服务中并通过检查路由参数来触发该特定状态。

我已经能够使用正则表达式和$location.path()在我的控制器内部完成所有这些工作,但也许有更好的方法?(使用 ngView 不够灵活)

重要更新

现在有一个很棒的模块——ui -router,它比默认的 $routeProvider 更好地帮助管理路由、状态和视图。

4

1 回答 1

1

为控制器内的路由更改广播设置监视功能怎么样:

$scope.$on('$routeChangeSuccess', function() {
    $http.get('/resource/' + $scope.params.memberId +'.json').success(function (d) {$scope.jsresponse = d;});
  });

jsfiddle

于 2013-07-10T21:51:05.537 回答