首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用angular-ui-router导航时访问初始参数值

使用angular-ui-router导航时访问初始参数值
EN

Stack Overflow用户
提问于 2017-03-01 16:32:06
回答 1查看 53关注 0票数 1

我的应用程序的入口点是一个具有未知参数值的URL,例如:

代码语言:javascript
复制
http://www.host.com/key/25

我的简化配置如下所示:

代码语言:javascript
复制
$stateProvider.state('home', {
        url: "/key/:key",
        component: 'home'
}).state('sitenotice', {
        url: "/sitenotice/",
        component: 'sitenotice'
});

我尝试导航到"sitenotice“,然后返回到index.html中的"main”:

代码语言:javascript
复制
<html ng-app="myApp">
  ...
  <div ui-view></div>

  <a ui-sref="sitenotice">site notice</a>
  <a ui-sref="home">home</a>
</html>

它不起作用,因为我没有将key-Parameter传递给状态"home“。我不知道如何访问初始值。或者它可以以某种方式缓存?有没有可能只使用ui-router,我还没有使用根控制器。

我使用angular 1.5.8和angular-ui-router 1.0.0-beta.3。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 20:35:33

我的解决方案是使用rootScope并将参数值存储在那里。我还更新了angular-ui-router 1.0.0-rc.1。当离开“主”状态时,$rootScope.navKey获取当前的-state参数值。

代码语言:javascript
复制
angular
.module('myApp')
.run(function ($rootScope, $stateParams, $transitions) {
  $rootScope.navKey = "";

  $transitions.onExit({ exiting: 'home' }, function() {
    if (angular.isDefined($stateParams.key)) {
        $rootScope.navKey = $stateParams.key;
    }
  });
});

在我的index.html中,我使用navKey返回到“主”-state:

代码语言:javascript
复制
<a ui-sref="home({ key: navKey })">
  <md-button md-no-ink="" class="md-primary">Home</md-button>
</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42526787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档