Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问特定页面时清除$IonichStory_Javascript_Angularjs_Ionic Framework - Fatal编程技术网

Javascript 访问特定页面时清除$IonichStory

Javascript 访问特定页面时清除$IonichStory,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我在清理方面有点问题 如上所示,当用户在支付屏幕上单击Ok时,我想清除应用程序的整个查看历史记录,并将用户重定向到附近的屏幕 需要清除用户从付款屏幕到达的附近屏幕之前的查看历史记录。因此,用户只需在附近的屏幕上看到一个菜单图标,而不是后退图标 实际发生的情况:用户单击“确定”的付款屏幕之前的查看历史记录被清除。因此,当用户登录到附近的页面并按下后退键(他们不应该这样做)时,他们会再次进入支付屏幕,但无法访问支付屏幕之前的任何内容 到目前为止我的代码: app.js .config(functio

我在清理方面有点问题

如上所示,当用户在支付屏幕上单击Ok时,我想清除应用程序的整个查看历史记录,并将用户重定向到附近的屏幕

需要清除用户从付款屏幕到达的附近屏幕之前的查看历史记录。因此,用户只需在附近的屏幕上看到一个菜单图标,而不是后退图标

实际发生的情况:用户单击“确定”的付款屏幕之前的查看历史记录被清除。因此,当用户登录到附近的页面并按下后退键(他们不应该这样做)时,他们会再次进入支付屏幕,但无法访问支付屏幕之前的任何内容

到目前为止我的代码:

app.js

.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('app', {
    url: '/app',
    abstract: true,
    templateUrl: 'templates/menu.html',
    controller: 'AppCtrl'
  })

.state('app.payment', {
  url: '/payment/:business',
  views: {
    'menuContent': {
      templateUrl: 'templates/payment.html',
      controller: 'BookCtrl'
    }
  }
})

.state('app.service', {
  url: '/services/:service',
  views: {
    'menuContent': {
      templateUrl: 'templates/service.html',
      controller: 'ServiceCtrl'
    }
  }
});

// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/app/services');
});
controller.js

angular.module('starter.controllers', [])

.controller('BusinessCtrl', function($scope, $state, ServicesData, $stateParams, $ionicHistory) {
  $scope.business = ServicesData.getBusiness($stateParams.business);
  $scope.service = ServicesData.getBusinessServiceCategory($stateParams.business);
  $scope.clearHistory = function() {
    $ionicHistory.clearHistory();
  }
})

.controller('ServiceCtrl', function($scope, ServicesData, $stateParams) {
  $scope.service = ServicesData.getSelectedService($stateParams.service);
  $scope.businessList = ServicesData.getAllBusinessInServiceCategory($stateParams.service);
})
payment.html

<ion-footer-bar>
    <div class="button-bar" ng-controller="BusinessCtrl">
        <a class="button button-balanced" style="border-radius:0px" ui-sref="app.services" ng-click="clearHistory()">Ok</a>
        <a class="button button-stable" style="border-radius:0px" href="">View Receipt</a>
    </div>
</ion-footer-bar>

试试这个

$scope.clearHistory = function() {
    $ionicHistory.nextViewOptions({
        disableBack: true,
        historyRoot: true
    });
}

我认为,
$IonichStory
在这里可以正常工作。你们在付款页面上调用它,它会删除这个页面之前的所有内容,但不会从历史记录中删除付款页面。啊,好的。我也这么想。当移动到附近的页面时,如何删除包括付款页面在内的所有内容?我想这才是我真正挣扎的原因。