使用路由的未定义服务控制器
Undefined service controller using route
>我正在使用角度服务与路由,其中我的服务文件是分开的。我面对分支服务是控制台中未定义的错误。查看 Plunker 代码中的代码这是分支服务.js:
angular.module("myApp").service('branchService', ['$http', function ($http) {
var link = "http://localhost:8008/";
//----Get Dining Tables`enter code here`
this.getBranches = function ($scope) {
return $http({
method: "GET",
url: encodeURI(link + "Branch/GetBranches/"),
headers: { 'Content-Type': 'application/json' }
}).success(function (data) {
console.log(data);
}).error(function (data) {
console.log(data);
});
};
}]);
和 myController.js 在这里:
var app = angular.module("myApp", ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/branches', {
templateUrl: 'branches.html',
controller: 'branchController'
})
.otherwise({
redirectTo: '/branches'
});
});
app.controller('branchController', ['$scope', '$filter', 'branchService', function ($scope, $filter, branchService) {
branchService.getBranches($scope);
}
当我运行错误时:$injector:模块rr控制台中显示模块错误错误
您是否在索引中添加了对 branchService.js 文件的引用.html或者您的第一页中的任何内容。
只需尝试在 myController.js 之后添加引用即可。
在使用服务之前,请先注入它,以便您可以使用它
var app = angular.module("myApp", ['ngRoute', 'branchService']);
编辑:
这是分支控制器中的问题.js:
var app = angular.module("myApp", ['ngRoute']);
您再次注入ngRoute
实际上您已经将其添加到应用程序中.js :
var app = angular.module("myApp",['ngRoute']);
修复:删除ng路线
var app = angular.module("myApp");
你必须这样做。应先加载服务,然后再加载控制器。
var app = angular.module("myApp", ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/branches', {
templateUrl: 'branches.html',
controller: 'branchController'
})
.otherwise({
redirectTo: '/branches'
});
});
app.service('branchService', ['$http', function ($http) {
var link = "http://localhost:8008/";
//----Get Dining Tables`enter code here`
this.getBranches = function ($scope) {
return $http({
method: "GET",
url: encodeURI(link + "Branch/GetBranches/"),
headers: { 'Content-Type': 'application/json' }
}).success(function (data) {
console.log(data);
}).error(function (data) {
console.log(data);
});
};
}]);
app.controller('branchController', ['$scope', '$filter', 'branchService', function ($scope, $filter, branchService) {
branchService.getBranches($scope);
}
相关文章:
- 尝试将服务链接到控制器时出现角度问题
- 使用服务(AngularJS)在控制器之间共享数据
- 从AngularJS中的另一个文件中的控制器访问服务
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- Ionic将firebase注入工厂,同时将控制器和服务保存在不同的文件中
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- Http服务工厂将未定义的返回到Angular中的控制器
- 由控制器调用的服务更改时,Angular未更新视图
- 将Browserify与Angular JS结合使用--将服务传递到控制器中
- 将工厂服务数据发送到控制器,以便在视图中使用
- 如何正确地将数据从自定义服务传递到角度控制器
- 如何将控制器http调用转换为接受参数的服务/工厂模式
- 角度控制器服务承诺不起作用
- angular应用程序中的浏览器功能检测:使用服务、指令、控制器
- 在一个控制器中更新服务变量,并在另一个控制器 - Angular JS中使用更新的值
- 从服务更新角度控制器
- AngularJS - 一个文件中的控制器和服务
- 使用路由的未定义服务控制器
- AngularJS:在服务/控制器中加载插件对象
- Angular服务/控制器没有返回承诺