使用状态参数转换到不同状态
Transition to different state with state params
嗨,我是 angular 路由的新手,想知道如何通过控制器转换到不同的状态。
我知道我必须注入我所做的 $state 服务,但我不清楚如何使用该服务的转换方法。
这是我在我的控制器代码中尝试转换的内容,但它不起作用:((我也尝试 $stateService.go(...) 但没有成功)
$stateService.transitionTo("teststate({ path: 'Test.TestState' })");
这是我的状态定义
$stateProvider
.state("teststate",
{
url: '/:path',
templateUrl: (stateParams) => {
return '/Templates?path=' + stateParams.path;
},
})
如有任何帮助,我们将不胜感激!
谢谢
它会像下面这样。
$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' });
你是这个意思吗?
$state.go("teststate", { path: 'Test.TestState' });
可以通过以下两种方式完成:
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"
});
快乐帮助!
嗨,我是 angular 路由的新手,想知道如何通过控制器转换到不同的状态。
我知道我必须注入我所做的 $state 服务,但我不清楚如何使用该服务的转换方法。
这是我在我的控制器代码中尝试转换的内容,但它不起作用:((我也尝试 $stateService.go(...) 但没有成功)
$stateService.transitionTo("teststate({ path: 'Test.TestState' })");
这是我的状态定义
$stateProvider
.state("teststate",
{
url: '/:path',
templateUrl: (stateParams) => {
return '/Templates?path=' + stateParams.path;
},
})
如有任何帮助,我们将不胜感激!
谢谢
它会像下面这样。
$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' });
你是这个意思吗?
$state.go("teststate", { path: 'Test.TestState' });
可以通过以下两种方式完成:
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"
});
快乐帮助!