[英]Transition to different state with state params
嗨,我是角度路由的新手,想知道如何通過控制器轉換到不同的狀態。
我知道我必須注入我所做的$ state服務,但我不清楚如何使用服務的轉換方法。
這是我在我的控制器代碼中嘗試轉換但它無法正常工作:((我試過$ stateService.go(...)但是沒有成功)
$stateService.transitionTo("teststate({ path: 'Test.TestState' })");
這是我的州定義
$stateProvider
.state("teststate",
{
url: '/:path',
templateUrl: (stateParams) => {
return '/Templates?path=' + stateParams.path;
},
})
任何幫助,將不勝感激!
謝謝
它可以通過兩種方式完成:
1 - 使用$ state
app.controller("fruitsCtrl", function ($scope, $state) {
//goto vegetables page with params
$state.go('vegetables', {name:"carrot"});
// or other possibility
$state.transitionTo('vegetables', {name:"carrot"});
});
2 - 使用ui-sref
<nav>
<ul>
<li><a ui-sref="fruits({name: 'mango'})">Fruits</a></li>
<li><a ui-sref="vegetables({name: 'potato'})">Vegetables</a></li>
</ul>
</nav>
提供的路線:
$stateProvider
.state('fruits', {
url:"/fruits/:name",
templateUrl: "views/fruits.html",
controller: "fruitsCtrl"
})
.state('vegetables', {
url:"/vegetables/:name",
templateUrl: "views/vegetables.html",
controller: "vegetablesCtrl"
});
快樂幫助!
它就像下面一樣。
$stateProvider.state('contacts', {
url: '/:path',
templateUrl: function ($stateParams){
return '/Templates?path=' + $stateParams.path;
}
})
轉換到新狀態的便捷方法, $state.go
,內部調用$state.transitionTo
。 我更喜歡使用$state.go
而不是$scope.transitionTo
$state.go("teststate",{ path: 'Test.TestState' });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.