我有以下两种状态:
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('my.list', {
url: '/myitem',
templateUrl: 'templates/my-item-list.html',
controller: 'myController'
})
.state('my.detail', {
url: '/detail',
templateUrl: 'templates/item-detail.html',
controller: 'myController'
})
在my-item-list.html
我使用ng-repeat列出可点击的项目。
点击状态更改为my.detail
我要显示所选/点击项目的详细信息。
如何将点击数据从一个州传递到另一个州?最好的方法是什么?没有在URL中显示参数?
答案 0 :(得分:1)
通过点击链接从一个州导航到另一个州时的最佳方法是使用ui-sref
,您可以将params
与其一起传递:
<a ... ui-sref="my.detail({selected: 'something'})" ...>...</a>
为了完成这项工作,您需要selected
成为该州params
的一部分。像这样:
.state('my.detail', {
url: '/detail',
params: {selected: null},
templateUrl: 'templates/item-detail.html',
controller: 'myController'
})
现在,您可以使用myController
在$stateParams.selected
中使用它。