无法将$ ionicHistory注入我的angularjs控制器

时间:2015-04-24 02:52:14

标签: angularjs mobile ionic

我正在尝试在Angularjs / Ionic应用程序中的Controller中使用$ ionicHistory.goBack()。当我尝试将其注入我的控制器时如下

app.controller('ClockInController', function($scope, $http, JobData, Data, $rootScope, $interval, $ionicHistory)

然后我运行应用程序我收到以下错误:

未捕获错误:[$ injector:unpr]未知提供者:$ ionicHistoryProvider< - $ ionicHistory http://errors.angularjs.org/1.3.0/ $ injector / unpr?p0 =%24ionicHistoryProvider%20%3C-%20%24ionicHistory,{{3} },行:4116

1 个答案:

答案 0 :(得分:2)

angular.module('myApp', ['ionicModuleOrWhatever'])
.controller('ClockInController', ['$ionicHistory', function ($ionicHistory) {
    // Do something with $ionicHistory
}]);

我通过您提供的链接找到了这个:http://errors.angularjs.org/1.3.0/$injector/unpr?p0=%24ionicHistoryProvider%20%3C-%20%24ionicHistory。文档可能有点密集,但它是第一行

更新:你提到你从github复制了代码,我找到了你的问题。您没有克隆,而是必须复制您认为应该的文件 - 但您复制了wrong file

由于您的错误Uncaught ReferenceError: IonicModule is not defined, localhost:8100/js/history.js, Line: 19 - 该文件包含以下第19行和第20行:

IonicModule
.factory('$ionicHistory', [

对我来说,这看起来像coffeescript,它没有编译。 您复制的文件不是文件的发布版本。您需要this fileionic github project包含gulp文件,这意味着他们正在使用构建工具。您可能已经复制了用于生成文件发布版本的文件,而不是文件的发行版本。在包含gulpfile或gruntfile的此类项目中,检查/dist/目录,/dest/目录,release目录或build/目录,而是复制从那里的文件。如果您不打算修改$ ionicHistory源代码,也可以复制文件的.min.js版本。