AngularJS-Ionic:无法注入离子历史记录

AngularJS-Ionic:无法注入离子历史记录,angularjs,ionic,Angularjs,Ionic,我试图在我的ionic项目中注入ionic历史,我得到了这个错误 Error: [$injector:unpr] http://errors.angularjs.org/1.2.14/$injector/unpr?p0=%24ionicHistoryProvider%20%3C-%20%24ionicHistory 这是我完整的控制器代码 .controller('menu', ['$scope', '$state', '$ionicHistory', function($scope,$sta

我试图在我的ionic项目中注入ionic历史,我得到了这个错误

Error: [$injector:unpr] http://errors.angularjs.org/1.2.14/$injector/unpr?p0=%24ionicHistoryProvider%20%3C-%20%24ionicHistory
这是我完整的控制器代码

.controller('menu', ['$scope', '$state', '$ionicHistory', function($scope,$state,$ionicHistory) {  //first menu
    var user = JSON.parse(localStorage.getItem("user"));

    $scope.gotoUser = function(){

        localStorage.removeItem("selectedName");
         localStorage.setItem("selectedName",username);
        $state.go("Page");
    };

    $scope.gotoLogouts = function() {
       // localStorage.clear();
        $ionicHistory.clearHistory();
        //localStorage.removeItem('user');
        $state.go("login");

}])
请问我做错了什么。

您使用的是Cordova吗? 如果是,则可能是因为您没有在模块中注入ngCordova

比如:
angular.module('anotei',['ionic','ngCordova'])

我的朋友,你的问题不在你身上,而在存储位置上。您没有在控制器中注入本地存储。只要注射它,它就会起作用


干杯

尝试在$scope.gotoLogouts函数的最后一行之前添加结尾的花括号}。

@Nadeem Khoury您不应该注入本地存储。应该注入$localStorage,但他使用的是不应该注入的localStorage

如果这正是您正在使用的代码,我将使用@Ennedigi

.controller('menu', ['$scope', '$state', '$ionicHistory', function($scope,$state,$ionicHistory) {  //first menu
    var user = JSON.parse(localStorage.getItem("user"));

    $scope.gotoUser = function(){

        localStorage.removeItem("selectedName");
         localStorage.setItem("selectedName",username);
        $state.go("Page");
    };

    $scope.gotoLogouts = function() {
       // localStorage.clear();
        $ionicHistory.clearHistory();
        //localStorage.removeItem('user');
        $state.go("login");
}

}])

尝试在模块中包含超时、位置和窗口

    IonicModule
.factory('$ionicHistory', [
  '$rootScope',
  '$state',
  '$location',
  '$window',
  '$timeout',
  '$ionicViewSwitcher',
  '$ionicNavViewDelegate',
function($rootScope, $state, $location, $window, $timeout, $ionicViewSwitcher, $ionicNavViewDelegate) {

@Blaze,您必须在控制器中注入$localStorage,如下所示

.controller('menu', ['$scope', '$state', '$ionicHistory', '$localStorage' function($scope,$state,$ionicHistory,$localStorage) {  //first menu
    var user = JSON.parse(localStorage.getItem("user"));

    $scope.gotoUser = function(){

        localStorage.removeItem("selectedName");
         localStorage.setItem("selectedName",username);
        $state.go("Page");
    };

    $scope.gotoLogouts = function() {
       // localStorage.clear();
        $ionicHistory.clearHistory();
        //localStorage.removeItem('user');
        $state.go("login");
}

}])

发布你的模块声明。模块声明的意思是“angular.module('ionicApp',['ionic']),就像这样。angular.module('ionicApp',['ionic','ngResource'])你能分享你的整个错误日志吗:你上面的代码似乎没问题……而日志对你没有多大帮助。你忘记了“};”在gotoLogouts函数中:卷发衬背是在最后一条线之前加上的,我认为locaStorage不需要注射。