Angularjs 错误:[$injector:unpr]未知提供程序:starterServiceProvider<;-起动服务
我在控制台中遇到错误。我使用的是带有angular的ionic-v1,我的后端是php和mysqlAngularjs 错误:[$injector:unpr]未知提供程序:starterServiceProvider<;-起动服务,angularjs,ionic-framework,service,dependency-injection,controller,Angularjs,Ionic Framework,Service,Dependency Injection,Controller,我在控制台中遇到错误。我使用的是带有angular的ionic-v1,我的后端是php和mysql Error: [$injector:unpr] Unknown provider: starterServiceProvider <- starterService http://errors.angularjs.org/1.2.12/$injector/unpr?p0=starterServiceProvider%20%3C-%20starterService a
Error: [$injector:unpr] Unknown provider: starterServiceProvider <- starterService
http://errors.angularjs.org/1.2.12/$injector/unpr?p0=starterServiceProvider%20%3C-%20starterService
at ionic.bundle.js:7536
at ionic.bundle.js:11004
at Object.getService [as get] (ionic.bundle.js:11131)
at ionic.bundle.js:11009
at getService (ionic.bundle.js:11131)
at invoke (ionic.bundle.js:11158)
at Object.instantiate (ionic.bundle.js:11179)
at ionic.bundle.js:14238
at ionic.bundle.js:13647
at forEach (ionic.bundle.js:7768)
这是我的控制器。js它是一个控制器,用于从HTML页面注入数据,并调用服务
“starterServices”
这是我的service.js
app.service('starterService', function($http){
var serviceUrl = "http://localhost/2404/CRUD Ionic/www/php/";
this.addtask = function(data){
var response = $http({
method : "POST",
url : serviceUrl + "createTask.php",
params : data
});
return response;
};
this.delTask = function(task){
var response = $http ({
method : "POST",
usr : serviceUrl + "deleteTask.php",
params : {task}
});
return response;
};
});
应用程序模块应如下所示:
var app = angular.module('starter', ['ionic'])
因为它不依赖任何名为'starterService'
的模块。这是服务,不是模块。此处仅允许将模块添加为依赖项
更新:
您还忘了提供适当的依赖关系映射
.controller('ToDoListCtrl',['$scope','$ionicModal', 'starterService' , function($scope,$ionicModal,starterService) {
$scope.toDoListItems = [{
task: 'Scuba Diving',
status: 'not done'
}, {
task: 'Climb Everest',
status: 'not done'
}];
$scope.AddItem = function(data){
var addTask = starterService.addtask();
addTask.then(function(data){
$scope.task = data.task;
$scope.status = data.status;
});
};
/*$scope.toDoListItems.push({task:data.newItem,status:'not done'});
data.newItem = ' ';
$scope.closeModalAdd();*/
$scope.DeleteItem = function(data){
var ans = confirm('Are you sure to delete it?');
if(ans){
var deleteTask = starterService.delTask(task);
alert('Sucessfully deleted task ',+ data.task);
}
/*
$scope.toDoListItems.pop({task: data.newItem});
data.newItem = ' ';
$scope.closeModalDelete();
*/
alert('Sucessfully deleted task ');
};
$ionicModal.fromTemplateUrl('modal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
});
$ionicModal.fromTemplateUrl('dmodal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(dmodal) {
$scope.dmodal = dmodal;
});
$scope.openModalAdd = function() {
$scope.modal.show();
};
$scope.closeModalAdd = function() {
$scope.modal.hide();
};
$scope.openModalDelete = function() {
$scope.dmodal.show();
};
$scope.closeModalDelete = function() {
$scope.dmodal.hide();
};
//Cleanup the modal when we're done with it!
$scope.$on('$destroy', function() {
$scope.modal.remove();
$scope.dmodal.remove();
});
您是否将您的
service.js
包含在html
页面中?是的,在标题中获取此错误:[$injector:unpr]未知提供程序:starterServiceProvider@nasiruddinsaied我已稍微更新了答案。我没有注意到您将self模块添加为依赖项。现在试试看。@NasiruddinSaiyed也可以看到控制器的更新。您忘记提供适当的依赖关系映射。
var app = angular.module('starter', ['ionic'])
.controller('ToDoListCtrl',['$scope','$ionicModal', 'starterService' , function($scope,$ionicModal,starterService) {
$scope.toDoListItems = [{
task: 'Scuba Diving',
status: 'not done'
}, {
task: 'Climb Everest',
status: 'not done'
}];
$scope.AddItem = function(data){
var addTask = starterService.addtask();
addTask.then(function(data){
$scope.task = data.task;
$scope.status = data.status;
});
};
/*$scope.toDoListItems.push({task:data.newItem,status:'not done'});
data.newItem = ' ';
$scope.closeModalAdd();*/
$scope.DeleteItem = function(data){
var ans = confirm('Are you sure to delete it?');
if(ans){
var deleteTask = starterService.delTask(task);
alert('Sucessfully deleted task ',+ data.task);
}
/*
$scope.toDoListItems.pop({task: data.newItem});
data.newItem = ' ';
$scope.closeModalDelete();
*/
alert('Sucessfully deleted task ');
};
$ionicModal.fromTemplateUrl('modal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
});
$ionicModal.fromTemplateUrl('dmodal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(dmodal) {
$scope.dmodal = dmodal;
});
$scope.openModalAdd = function() {
$scope.modal.show();
};
$scope.closeModalAdd = function() {
$scope.modal.hide();
};
$scope.openModalDelete = function() {
$scope.dmodal.show();
};
$scope.closeModalDelete = function() {
$scope.dmodal.hide();
};
//Cleanup the modal when we're done with it!
$scope.$on('$destroy', function() {
$scope.modal.remove();
$scope.dmodal.remove();
});