我正在尝试在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
答案 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 file。 ionic github project包含gulp文件,这意味着他们正在使用构建工具。您可能已经复制了用于生成文件发布版本的文件,而不是文件的发行版本。在包含gulpfile或gruntfile的此类项目中,检查/dist/
目录,/dest/
目录,release
目录或build/
目录,而是复制从那里的文件。如果您不打算修改$ ionicHistory源代码,也可以复制文件的.min.js
版本。