AngularJS离子:无法注入离子历史

时间:2015-10-23 07:39:42

标签: angularjs 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");

}])

请问出错了什么。

6 个答案:

答案 0 :(得分:0)

你在使用科尔多瓦吗? 如果你是,那可能就是因为你没有在你的模块中注入ngCordova。

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

答案 1 :(得分:0)

我的朋友你的问题不在你身上$ionicHistory,它在locatStorage中。您没有在控制器中注入本地存储。只需注入它就可以了。

干杯。

答案 2 :(得分:0)

尝试为$ scope.gotoLogouts函数添加结束花括号},就在最后一行之前。

答案 3 :(得分:0)

@nadeem Khoury你不应该注入localStorage。应注入$ 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");
}

}])

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

@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");
}

}])