Angular UI路由器-从其他状态访问statesparams
Angular UI router - acess stateParams from other state
我是Angular的初学者,很抱歉我的英语不好。我发现了类似的问题和答案,但它对我的代码没有帮助…我想要这样的东西
.state('members.detail', {
parent: "members",
url: "/:id",
templateUrl: "templates/members.detail.html",
controller: 'membersDetailsController'
})
.state('members.detail.fees', {
parent: 'members.detail',
url: '/fees',
views: {
'items': {
templateUrl: 'templates/tabs/tab2-fees.html',
controller: 'Fees'
}
}
})
我也有这样的东西:
myapp.controller('membersDetailsController', function($scope, $http, $stateParams) {alert($stateParams.id);}
:
<a ui-sref=".fees" ng-class="{ active: $state.includes('members.detail.fees') }">Fees</a>
我需要id从第一个状态使用在第二个状态/费用控制器
注:有类似的问题,但没有帮助我(或不理解很好)Angular ui-router -如何访问参数嵌套,命名视图,从父模板传递?
你不能在模板中直接访问$state
和$stateParams
,你需要将其绑定到作用域:
myapp.controller('Fees', function($scope, $http, $stateParams, $state) {
$scope.params = $stateParams;
$scope.currentState = $state;
};
<a ui-sref=".fees" ng-class="{ active: params.id === someId }">Fees</a>
请注意,ui-router还支持ui-sref-active指令,你可以使用它来根据激活状态突出显示元素。
还要注意,嵌套的路由从它们的父路由继承状态参数。
你可以从所有子控制器访问它。像这样:
myapp.controller('Fees', function($scope, $http, $stateParams) {alert($stateParams.id);}
但是你的"ui-sref"属性有一个错误。它应该看起来像这样:
<a ui-sref="members.detail.fees({ id:1 })" ng-class="{ active: $state.includes('members.detail.fees') }">Fees</a>
相关文章:
- React Container-来自任一reducer的访问状态
- 如何从一个组件访问另一个组件的状态
- 如何将链接状态设置为在用户访问另一个页面之前保持
- AngularJS:阻止用户访问某个状态
- jQuery成功,访问HTTP状态文本
- Internet Explorer:可以't访问IFrame内容,除非状态代码为200
- RxJ避免外部状态,但仍然访问以前的值
- AngularUI路由器-无法通过URL访问状态
- 如何删除“;被访问”;当我滚动时从链接进入状态
- Angular ui路由器:如何阻止访问一个状态
- 历史记录.js - 直接访问时检测状态
- 如何在 React 中访问孩子的状态
- 如何使用重新选择访问当前的 Redux 状态
- 我可以使用Facebook Graph API访问用户的好友状态吗?
- 为什么 getter 无法访问 React 组件中的状态
- 访问 http 状态代码常量
- 从stateChangeStart中的子状态访问父状态的参数
- 从嵌套状态访问不同的父控制器
- Angular UI路由器-从其他状态访问statesparams
- 将JSON数据分配给变量并通过React中的状态访问它时出错