我有特定的观看状态,我希望用户能够链接到。
当用户转到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更有助于管理路线,状态和视图。
答案 0 :(得分:1)
如何在控制器内为路由更改广播设置监视功能:
$scope.$on('$routeChangeSuccess', function() {
$http.get('/resource/' + $scope.params.memberId +'.json').success(function (d) {$scope.jsresponse = d;});
});