首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用uiRouter在Plunker中使用url参数来设置$stateParams?

如何使用uiRouter在Plunker中使用url参数来设置$stateParams?
EN

Stack Overflow用户
提问于 2016-02-29 21:24:45
回答 3查看 804关注 0票数 9

我试图用url-query参数来演示一些东西,但是我甚至不能让参数显示出来(这样就不能演示我原来的问题了)。

我已经创建了一个简单的插入器,其中的states属性如下所示:url: '/root?firstParam'然后我想要的是用我在浏览器的url中为该queryParameter编写的任何内容填充$stateParams.firstParamPlunkerplunkerWithParameter?firstParam=foo

我可以想象第一个url的$stateParams.firstParam是未定义的,但是第二个url设置为"foo“。但在这两种情况下它都是未定义的。

如何设置$stateParams.firstParam

EN

回答 3

Stack Overflow用户

发布于 2016-03-18 19:56:01

编辑:似乎这实际上是可能的(@Rogerio Soares的回答证明了这一点)。将我的答案保留在这里,因为代码中还有其他错误。

无法从Plnkr应用程序的浏览器搜索栏中获取参数,因为它是在iFrame中运行的。我修复了你下面的另一个问题:

我将参数添加到otherwise语句中,如下所示:

代码语言:javascript
复制
$urlRouterProvider.otherwise('/root?firstParam=test');

问题是,当没有找到其他路由时,您重定向到root,并且您没有为路由指定任何参数。

更新的PlunkR:https://plnkr.co/edit/OxEGVkhzBO332ym3q8fV?p=preview

票数 7
EN

Stack Overflow用户

发布于 2016-03-25 07:51:24

我的两点意见:就像@Johannes Ferner所说的那样,Plunker使用iframe,但你至少可以用document.referrer得到你的url虽然有点老生常谈,但它是有效的:D

代码语言:javascript
复制
  $scope.parameters = [];
  var url = document.referrer;
  var props = url.split("?")[1]
  .split("&")
  .map(function(o){ 
    return o.split("=");
  });
  console.log(props);
  for(var i = 0; i < props.length; i++){
    var prop = props[i];
    console.log(prop);
    if($stateParams.hasOwnProperty(prop[0])){
      $scope.parameters.push({name: prop[0], value:prop[1]});
    }
  }

https://plnkr.co/edit/Cejgj1cLJnwQT2LzjsRm?firstParam=foo&p=preview

票数 3
EN

Stack Overflow用户

发布于 2016-03-23 22:07:59

问题是plnkr是在iFrames中运行的,所以您尝试的URL是错误的。

试试这个:https://plnkr.co/edit/jV2pdV6q8g8QZ132Qu3A

我已经添加了一个指向根状态的链接,第一个参数设置为'Yeah‘,如下所示:

代码语言:javascript
复制
<a ui-sref="root({firstParam: 'YEAH'})">Go to Root with Firstparam = "YEAH"</a>

这将导致以下网址:https://run.plnkr.co/roo/root?firstParam=YEAH

查询错误:如果您直接在浏览器中打开此,查询参数将正确传递到您的AngularJS应用程序并设置为$stateParams.firstParam

正确的:如果代码没有嵌入到iframe中,我没有找到一种方法来获得一个永久的plnkr地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35700715

复制
相关文章

相似问题

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