angularjs – 如何发送和检索参数使用$state.go toParams和$stateParams?

我使用AngularJS v1.2.0-rc.2与ui-router v0.2.0。我想传递referrer状态到另一个状态,所以我使用$ state.go的toParams像这样:
$state.go('toState',{referer: $state.current.name});

根据docs,这应该填充toState控制器上的$ stateParams,但它是未定义的。我缺少什么?

我创建了一个plunk来演示:

http://plnkr.co/edit/ywEcG1

如果要传递非网址状态,则在设置状态时不能使用网址。我发现 the answer在公关,并做一些猴子周围更好地了解。
$stateProvider.state('toState',{
  templateUrl:'wokka.html',controller:'stateController',params: {
    'referer': 'some default','param2': 'some default','etc': 'some default'
  }
});

然后你可以导航到它像这样:

$state.go('toState',{ 'referer':'jimbob','param2':37,'etc':'bluebell' });

要么:

var result = { referer:'jimbob',param2:37,etc:'bluebell' };
$state.go('toState',result);

在HTML中这样:

<a ui-sref="toState(thingy)" class="list-group-item" ng-repeat="thingy in thingies">{{ thingy.referer }}</a>

这个使用案例在文档中完全揭露,但我认为这是一个强大的手段转换状态,而不使用URL。

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...