使用状态参数转换到不同的状态
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;
},
})
任何帮助都将不胜感激!
感谢
你是这个意思吗?
$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"
});
乐于助人!
如下所示。
$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' });
相关文章:
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- CSS转换立即进入最终状态
- 如何处理 React / Flux 组件中的状态转换
- Angular JS具有在状态转换期间可见的来自两个不同状态的页面(用于动画目的)
- 如何在AngularJS$rootScope事件侦听器中应用状态转换
- UI路由器-状态转换延迟(非常慢)
- 角度 UI 状态转换问题
- 从一种特定状态转换到另一种特定状态时执行操作
- 角度 UI 路由器 - 在没有参数的情况下从一个状态转换到同一状态失败
- index.js:1335警告:setState(..):无法在现有状态转换期间更新(例如在' render '或其他组
- Angular UI-Router——在resolve中返回被拒绝的承诺并不能停止状态转换
- ReactNativeJS:警告:setState(..):在现有状态转换期间无法更新(例如在“渲染”中)
- 添加“active"状态转换为Javascript
- 在AngularJS和Ionic中,每次状态转换都会发生两次导航
- React:警告:setState(..):在现有状态转换期间无法更新
- 从包含ng网格对象的状态转换不起作用
- Smooch:如何进行依赖于回发的状态转换
- 如何在状态转换之前暂停组件的延迟
- 在angular js中,如何将json对象作为状态转换的一部分发送到另一个控制器