在Ionic抽象菜单中刷新数据

时间:2016-11-23 15:56:41

标签: angularjs ionic-framework

在我的应用程序中,可以执行操作。当用户执行操作增加菜单中显示的点数我的问题是我无法在菜单中更新此结果,因为当我执行state.reload()时只重新加载我访问但不是从菜单是SndController驱动程序。我试过放$ ionicConfigProvider.views.swipeBackEnabled (false);但它不起作用我该怎么办?我给你留下菜单的代码和app.js的代码。谢谢

<ion-side-menu side="left" ng-controller="NavController">
          <ion-content has-header="true" class="menuscroll">
            <ul class="list" ng-show="currentState == 'menuconsumidor'">
              <h1 class="text-center title">¡Hola {{usuario.nombre}}!</h1>
              <div class="resumen-puntos puntosMenu"><i class="icon icoNivel {{claseNiveles}}"></i><span class="txtMenu">Tienes <span class="resaltado">{{usuario.puntos | commaToDecimal}} €</span> acumulados <br/>Tu nivel es <span class="resaltado uppercase">{{usuario.tramo}}</span></span></div>
              <a ui-sref="snd.datos" nav-clear class="item datos" ng-click="toggleLeft()"><i class="ion-android-person"></i>Datos personales<i class="ion-chevron-right"></i></a>
              <ion-item vinculaciones class="item vinculaciones"><i class="ion-android-people"></i>Vinculaciones<i class="ion-chevron-right"></i></ion-item>
              <a ui-sref="snd.niveles({reload: true})" nav-clear class="item niveles" ng-click="toggleLeft()"><i class="ion-ios-star-outline"></i>Niveles y Zonas<i class="ion-chevron-right"></i></a>
              <a ui-sref="snd.terminos" nav-clear class="item terminos" ng-click="toggleLeft()"><i class="ion-android-document"></i>Términos y condiciones<i class="ion-chevron-right"></i></a>
              <a ui-sref="snd.ayuda" nav-clear class="item ayuda" ng-click="toggleLeft()"><i class="ion-help-circled"></i>Ayuda<i class="ion-chevron-right"></i></a>
              <a ui-sref="snd.share" nav-clear class="item comparte" ng-click="toggleLeft()"><i class="ion-android-share-alt"></i>Comparte<i class="ion-chevron-right"></i></a>
              <ion-item  log-out class="item salir"><i class="ion-android-exit"></i>Salir<i class="ion-chevron-right"></i></ion-item>
            </ul>
            <ul class="list" ng-show="currentState == 'menucomercio'">
              <h1 class="text-center title">¡Hola {{usuario.nombreComercio}} !</h1>
              <div class="resumen-puntos puntosMenu"><i class="icon icoNivel {{claseNiveles}}"></i><span class="txtMenu">Este mes has facturado  <span class="resaltado">{{usuario.importeFacturadoMesActual | commaToDecimal}} €</span> <br/>Tu nivel es <span class="resaltado uppercase">{{usuario.tramo}}</span></span></div>
              <a ui-sref="snd.datoscomercio({reload: true})" nav-clear class="item datos" ng-click="toggleLeft()"><i class="ion-android-person"></i>Datos personales<i class="ion-chevron-right"></i></a>
              <a ui-sref="snd.nivelescomercio({reload: true})" nav-clear class="item niveles" ng-click="toggleLeft()"><i class="ion-ios-star-outline"></i>Niveles y Zonas<i class="ion-chevron-right"></i></a>
              <a ui-sref="snd.terminoscomercio" nav-clear class="item terminos" ng-click="toggleLeft()"><i class="ion-android-document"></i>Términos y condiciones<i class="ion-chevron-right"></i></a>
              <a ui-sref="snd.ayudacomercio" nav-clear class="item ayuda" ng-click="toggleLeft()"><i class="ion-help-circled"></i>Ayuda<i class="ion-chevron-right"></i></a>
              <a ui-sref="snd.share" nav-clear class="item comparte" ng-click="toggleLeft()"><i class="ion-android-share-alt"></i>Comparte<i class="ion-chevron-right"></i></a>
              <ion-item  log-out class="item salir"><i class="ion-android-exit"></i>Salir<i class="ion-chevron-right"></i></ion-item>
            </ul>   
          </ion-content>
        </ion-side-menu>
      </ion-side-menus>

Snd控制器是我的应用程序中的菜单。

.state('snd', {
        url : '/snd',
        templateUrl : 'templates/snd-abstract.html',
        abstract : true,
        cache: false,
        controller : 'SndController'
    })
    .state('snd.home', {
        cache: false,
        url: '/home',
        views: {
            'snd': {
                templateUrl: 'templates/snd-home.html',
                controller : 'SndHomeController'
            }
        }
    })
    .state('snd.terminos', {
        cache: false,
        url: '/terminos',
        views: {
            'snd': {
                templateUrl: 'templates/snd-terminos.html',
                controller : 'SndEstaticasController'
            }
        }
    })
    .state('snd.ayuda', {
        cache: false,
        url: '/ayuda',
        views: {
            'snd': {
                templateUrl: 'templates/snd-ayuda.html',
                controller : 'SndEstaticasController'
            }
        }
    })
    .state('snd.operaciones', {
        cache: false,
        url: '/operaciones',
        views: {
            'snd': {
                templateUrl: 'templates/snd-operaciones.html',
                controller : 'SndOperacionesController'
            }
        }
    })
    .state('snd.detalleoperacion', {
        url: '/operaciones/:operacionId',
        cache: false,
        views: {
            'snd': {
                templateUrl: 'templates/snd-detalle-operacion.html',
                controller : 'SndOperacionDetalleController'
            }
        }
    })
    .state('snd.nivelescomercio', {
        url: '/nivelescomercio',
        cache: false,
        views: {
            'snd': {
                templateUrl: 'templates/snd-comercio-niveles.html',
                controller : 'SndNivelesComercioController'
            }
        }
    })
    .state('snd.ofertascomercio', {
        url: '/ofertascomercio',
        cache: false,
        views: {
            'snd': {
                templateUrl: 'templates/snd-comercio-ofertas.html',
                controller : 'SndOfertasComercioController'
            }
        }
    })
    .state('snd.nuevaSedeComercio', {
        url: '/nuevaSedeComercio',
        cache: false,
        views: {
            'snd': {
                templateUrl: 'templates/snd-comercio-nueva-sede.html',
                controller : 'SndNuevaSedeComercio'
            }
        }
    })

1 个答案:

答案 0 :(得分:0)

我解决了。我在父状态下推送此代码......

$scope.$on('$ionicView.beforeEnter', function() {

    console.log(' reload state before enter children state');
    $scope.usuario = UsuarioFactory.getUsuario();
    console.log(usuario);

});