【问题标题】:$state.go() does not load the view (Url was changed in address field), but the view shows when second click$state.go() 不加载视图(地址字段中的 URL 已更改),但第二次单击时会显示视图
【发布时间】:2019-04-28 07:25:09
【问题描述】:

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

然后设置view area div使用'ui-view'属性。

<div class="container">
    <div ui-view></div>
</div>

$state.go() 在第一次点击这个按钮时没有加载视图,但是浏览器地址字段中的模板 Url 发生了变化。 但是,视图会在第二次单击时显示。

我注意到,当单击第一次时,浏览器开发人员工具“网络”选项卡下加载了视图页面。但是视图页面没有显示在窗口中。 该视图必须通过第二次单击按钮来显示。我对此感到困惑。

Screenshot of the developer tools shows

【问题讨论】:

    标签: javascript angularjs angular-ui-router


    【解决方案1】:

    试试这个:

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

    或者这个:

    $state.go("confirmCart").then( () =&gt; $state.reload() )

    【讨论】:

      猜你喜欢
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      相关资源
      最近更新 更多