$ state.go()不加载视图(Url在地址字段中已更改),但视图显示第二次单击时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$ state.go()不加载视图(Url在地址字段中已更改),但视图显示第二次单击时相关的知识,希望对你有一定的参考价值。
在项目中使用Angular JS ui.router。
我在app.js中添加了以下状态映射:
.state( 'confirmCart', {
url: "/cart/confirmCart",
controller: "ConfirmCartCtrl",
templateUrl: "/ng-apps/selfEnroll/pages/confirmCart/confirmCart.html"
} )
在control.js中添加了一个函数:
$scope.reviewCart = function() {
$state.go("confirmCart");
return;
}
在主页上添加了一个按钮:
<div>
<button ng-click="reviewCart()">Review Cart Plans</button>
</div>
然后设置视图区域div使用'ui-view'属性。
<div class="container">
<div ui-view></div>
</div>
首次单击此按钮时,$ state.go()不会加载视图,但是在浏览器地址字段中更改了模板Url。但是,视图显示第二次单击时。
我注意到,当点击第一次时,浏览器开发者工具“网络”选项卡下加载了视图页面。但是视图页面没有显示在窗口中。必须通过第二次单击按钮显示此视图。我很困惑。
答案
试试这个:
$state.go("confirmCart", {}, {reload: true});
或这个:
$state.go("confirmCart").then( () => $state.reload() )
以上是关于$ state.go()不加载视图(Url在地址字段中已更改),但视图显示第二次单击时的主要内容,如果未能解决你的问题,请参考以下文章