解决angularjs service中依赖注入$scope报错的问题

控制台错误提示

ionic.bundle.js:26794 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- DutylogService
 http://errors.angularjs.org/1.5.3/$injector/unpr?p0=<ion-nav-view name="tab-dutylog" class="view-container tab-content" nav-view="active" nav-view-transition="ios">copeProvider%20%3C-%20%24scope%20%3C-%20DutylogService
 at http://localhost:8100/lib/ionic/js/ionic.bundle.js:13438:12
 at http://localhost:8100/lib/ionic/js/ionic.bundle.js:17788:19
 at Object.getService [as get] (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17941:39)
 at http://localhost:8100/lib/ionic/js/ionic.bundle.js:17793:45
 at getService (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17941:39)
 at injectionArgs (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17965:58)
 at Object.instantiate (http://localhost:8100/lib/ionic/js/ionic.bundle.js:18007:18)
 at Object.<anonymous> (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17850:24)
 at Object.invoke (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17995:19)
 at Object.enforcedReturnValue [as $get] (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17834:37)

原因:

angular.module('myModule', [])
.service('MyController', ['$scope', function($scope) {
 // This controller throws an unknown provider error because
 // a scope object cannot be injected into a service.
}]);

建议方式:

.service('DutylogService', [function(){
 
}])

相关推荐