未知的提供程序AngularJS错误

时间:2015-04-24 10:50:52

标签: angularjs ionic-framework ionic ngcordova

我有这个错误,我不知道为什么

var app = angular.module('starter', ['ionic', 'starter.controllers', 'ngCordova'])

.run(function($ionicPlatform, $cordovaSQLite, $rootScope, AppStart) {
  $ionicPlatform.ready(function() {
      if(window.cordova && window.cordova.plugins.Keyboard) {
          cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
      }
      if(window.StatusBar) {
          StatusBar.styleDefault();
      }
      $cordovaSQLite.deleteDB("my.db");
      db = $cordovaSQLite.openDB("my.db");
      $cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS preferences (id integer primary key, description string, value string)");

      AppStart.init();
  });
})

.factory("AppStart", function($scope, $cordovaSQLite) {
  var query = "SELECT id, description, value FROM preferences";
  return {
    init: function() {
      var res = "hello";
    }
  }
})

运行我的代码时,出现错误  ror:[$ injector:unpr]未知提供者:$ scopeProvider< - $ scope< - AppStart

为什么我得到一个未知的提供者,即使我已经设置它。

1 个答案:

答案 0 :(得分:1)

您不应该在工厂(服务)中注入$scope。要做的就是更改控制器或指令中的$scope,如果要在工厂中使用$scope中的某个变量,只需使用$watch检测更改服务变量。

简短版本:从“AppStart”工厂中删除$scope