【问题标题】:Unknown provider AngularJS error未知提供者 AngularJS 错误
【发布时间】:2015-04-24 10:50:51
【问题描述】:

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

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

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

【问题讨论】:

    标签: angularjs ionic-framework ionic ngcordova


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 2013-01-25
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      相关资源
      最近更新 更多