UI Router管理AngularJS应用程序的状态,并支持嵌套视图以及同一状态的多个命名视图。 多个命名视图使用如下:
<body>
<div ui-view="viewA"></div>
<div ui-view="viewB"></div>
</body>
您还可以通过ui-sref
在状态之间导航时将网址参数传递到状态(请查看此问题:Angular ui-router - how to access parameters in nested, named view, passed from the parent template?)。
问:是否可以使用ui-view
将参数传递到命名视图,然后传播到相应状态?
问:如果我使用$state.go(newState)
切换状态,如何传递参数?
答
$state.go(newState, { Param: 123 });
答案 0 :(得分:0)
评论中建议的$state.go(newState, { Param: 123 })
绝对有效。
我尝试使用另一种方法也很有效。在我定义状态的主app.js
文件中,我在模块定义之外定义了一个变量var myData={};
(但在JS文件中) 。可以将其视为各种各样的全局数据变量。
在viewA
的控制器中,您可以通过设置
myData.somevalue=$scope.valueFromViewA;
您可以通过
之类的内容在viewB
中访问此值
$scope.valueInB=myData.somevalue
正如我所说,这是一种做法,服务是另一种方式,评论中的方法也是有效的。