我有这个错误,我不知道为什么
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
为什么我得到一个未知的提供者,即使我已经设置它。
答案 0 :(得分:1)
您不应该在工厂(服务)中注入$scope
。要做的就是更改控制器或指令中的$scope
,如果要在工厂中使用$scope
中的某个变量,只需使用$watch
检测更改服务变量。
简短版本:从“AppStart”工厂中删除$scope