未知提供者 AngularJS 错误

Unknown provider AngularJS error

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

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

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

为什么我设置了一个未知的提供商。

您不应该在工厂(服务)中注入 $scope。方法是更改​​控制器或指令中的 $scope,如果您想将工厂中的某些变量与 $scope 一起使用,只需使用 $watch 来检测服务变量。

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