gpt4 book ai didi

javascript - 如何将属性/方法分配给 AngularJS 服务

转载 作者:行者123 更新时间:2023-11-30 12:48:55 26 4
gpt4 key购买 nike

我已经创建了一个 Angular 服务:

app.service('myService', ['$http', '$q', function($http, $q){
var getInfo = function(){
return $http({
method: 'GET',
url: 'X'
});
};
}]);

Controller 无法识别:

app.controller('myController', ['$scope', 'myService', function ($scope, myService) {


myService.getInfo()
.success(function(data, status, headers) {

})
.error(function(data, status, headers) {

})

}]);

我在控制台中收到此错误:

TypeError: Object [object Object] has no method 'getInfo'

我错过了什么?

最佳答案

Tthat 应该是 this.getInfo 以便 getInfo 被指定为服务的方法。

app.service('myService', ['$http', '$q', function($http, $q){
this.getInfo = function(){
return $http({
method: 'GET',
url: 'X'
});
};
}]);

这里有两个使用 Angular 创建服务的通用示例: Live demo (click).

app.service('myService', function() {
// "this" is the service
this.foo = function() {
console.log('foo from myService1');
};
});

使用工厂:

app.factory('myService2', function() {
var myService2 = {
foo: function() {
console.log('foo from myService2');
}
};

//what you return from a factory is the service
return myService2;
});

关于javascript - 如何将属性/方法分配给 AngularJS 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21649906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com