【问题标题】:ui-router | resolve dependency | force reload | force refreshui路由器|解决依赖 |强制重装|强制刷新
【发布时间】:2015-12-28 14:33:39
【问题描述】:

我的 app.js 中有这个:

.state('tab.interview', {
    url: '/interview/:survey_id',
    views: {
      'tab.interview': {
        templateUrl: 'templates/tab.interview.html',
        controller: 'interviewController'
      }
    },
    resolve: {
      duh: function() {
        console.log('HOHOHO');
        return new Date();
      }
    }
  })

我的 tabs.html 中有这个:

<ion-tabs class="tabs-icon-top tabs-color-active-positive">

  <ion-tab title="Organizer" icon-off="ion-ios-list-outline" icon-on="ion-ios-list" ui-sref="tab.survey">
    <ion-nav-view name="tab.survey"></ion-nav-view>
  </ion-tab>

  <ion-tab title="Interview" icon-off="ion-chatbox" icon-on="ion-chatbox-working" ui-sref="tab.interview" ui-sref-opts="{reload: true, inherit: false}">
    <ion-nav-view name="tab.interview"></ion-nav-view>
  </ion-tab>
</ion-tabs>

你可以看到我已经有了这个选项卡的选项: ui-sref-opts="{reload: true, inherit: false}" 。我认为它会强制重新加载控制器及其解析依赖项。

我有一个这样的控制器:

$scope.$on('$ionicView.enter', function() {
  console.log('.....');
  console.log(duh);
  console.log('.....');
});

我在控制台中看到的是:

  1. 每次切换到该选项卡时都会打印 HOHOHO。这告诉我创建了“duh”依赖的新实例。

  2. 但是... ionic.enter 中的console.log 给了我相同的值(_first_time_ 我加载该选项卡的时间)。例如:2015 年 12 月 28 日星期一 08:26:02 GMT-0600。总是相同的值。好像新创建的 duh (Date) 实例没有(重新)绑定到控制器中的该变量。

我哪里做错了?对于我的应用来说,每次切换到该选项卡时都必须刷​​新 duh(特别是当 $state.go 中的“重新加载”选项设置为 true 时)。

提前致谢, 拉卡

【问题讨论】:

    标签: angularjs ionic-framework ionic angular-ui-router


    【解决方案1】:

    您可以禁用给定状态的缓存:

    .state('tab.interview', {
        cache: false,
        url: '/interview/:survey_id',
        views: {
          'tab.interview': {
            templateUrl: 'templates/tab.interview.html',
            controller: 'interviewController'
          }
        },
        resolve: {
          duh: function() {
            console.log('HOHOHO');
            return new Date();
          }
        }
      })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 2014-11-16
      相关资源
      最近更新 更多