$ state.go()不会加载视图(在地址字段中更改了网址),但是视图在第二次单击时显示

时间:2019-04-28 07:25:09

标签: javascript angularjs angular-ui-router

在项目中使用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>

然后使用“ ui-view”属性设置视图区域div。

<div class="container">
    <div ui-view></div>
</div>
第一次单击此按钮时,

$ state.go()不会加载视图,但是模板URL已在浏览器地址字段中更改。 但是,该视图在第二次单击时显示。

我注意到,当单击第一时间时,视图页面将加载到浏览器开发人员工具的“网络”标签下。但是视图页面未显示在窗口中。 第二次单击该按钮必须显示此视图。我感到困惑。

Screenshot of the developer tools shows

1 个答案:

答案 0 :(得分:0)

尝试一下:

$state.go("confirmCart", {}, {reload: true});

或者这个:

$state.go("confirmCart").then( () => $state.reload() )