angularjs – ui-router:在新标签中打开状态,目标=“_空白”,参数丢失

前端之家收集整理的这篇文章主要介绍了angularjs – ui-router:在新标签中打开状态,目标=“_空白”,参数丢失前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在做一个Angular应用程序,其中表的行各有一个按钮,点击这些按钮时,应该为按钮所在的行打开一个新选项卡.

我需要将参数传递到以这种方式创建的新选项卡中.我在状态初始化中声明了参数:

.state('viewlisting',{
   url: "/listings/:id",params: {
     'action': '',},controller: 'ListingsController',templateUrl: "partials/listings/view_listing.html"
 });

按钮有这样的东西:

ui-sref='viewlisting({id:"+data+",action:"images"})'

传递参数,一切都按预期工作.

//URL: /#/listings/42
$state.params.action //returns "images"
$state.params.id //returns "42"

但是将target =“_ blank”添加到< a> tag导致$state.params对象返回以下内容

//URL: /#/listings/42
$state.params.action //returns ""
$state.params.id //returns "42"

我已经搜索了几个小时,我已经查看了ui-router文档和问题跟踪器,以找到解决我情况的问题,但我什么也没找到.

状态参数是否未通过目标=’_ blank”ed ui-sref链接传递?

如果有任何参数应该在当前SPA上下文之外可用(新窗口,新选项卡) – 它必须是URL的一部分.

这将有效:

.state('viewlisting',{
   // instead of this
   // url: "/listings/:id",// this will keep the action in a new window
   url: "/listings/:id?action",templateUrl: "partials/listings/view_listing.html"
 });

关于params How to pass parameters using ui-sref in ui-router to controller的更多细节

猜你在找的Angularjs相关文章