2015-04-24 95 views
0

我有这样的错误,我不知道为什么未知提供商AngularJS错误

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:[$注射器:unpr]未知提供商:$ scopeProvider < - $范围< - AppStart

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

回答

1

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

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

相关问题