未知提供者 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
我有这个错误,我不知道为什么
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