【发布时间】:2014-07-16 16:59:56
【问题描述】:
我有一个收藏页面,左侧是导航,右侧是一堆记录。每个导航项对应一个记录。我希望用户能够单击左侧的导航项,然后滚动到记录。此外,导航项和记录应该具有“已选择”状态。
URL /stuff/4?selectedRecord=5 应该让我获得集合 id 4 的所有记录并选择记录编号 5。
我在导航/记录项上使用 ui-sref 以及下面的状态提供程序进行了此操作。当我点击导航项时,网址和状态会发生变化。
但是当我将 url 从 /stuff/4?selectedRecord=5 更改为 /stuff/4?selectedRecord=6 时,什么也没有发生。没有 $stateChangeStart 被触发...
$stateProvider
// The stuff index: /stuff
.state('stuff', {
url: '/stuff',
abstract : true,
templateUrl: 'app/stuff/stuff.html' // wrapper
})
// Stuff detail page.
.state('stuff.detail', {
url: '/{stuffId}',
templateUrl: 'app/stuff/stuff.detail.html',
controller: 'StuffDetailController'
})
// Stuff detail page with a record selected
.state('stuff.detail.selectedRecord', {
url: '?selectedRecord'
})
这是我的 sref 导航项目,它有效:
<li ui-sref="stuff.detail.selectedRecord({selectedRecord:record.id})"
ui-sref-active="selected">Works</li>
编辑:如果我将 selectedRecord 的 url 更改为:
url: '/select/:selectedRecord'
【问题讨论】:
-
我也遇到了这个问题。 This 帖子解决了它。我认为您需要观看
$routeUpdate。希望这会有所帮助!
标签: javascript angularjs angular-ui-router