gpt4 book ai didi

javascript - Angularjs 无法从 javascript 函数调用工厂方法

转载 作者:行者123 更新时间:2023-11-28 17:52:28 24 4
gpt4 key购买 nike

我正在开发 angularjs 应用程序。我有一个 javascript 函数来填充下拉列表。我正在进行 http 调用以从 api 获取数据。我有工厂返回数据。下面是代码。

function fillperiod(fillperiodService) {
fillperiodService.getData().then(function(res) {
$scope.cal = response.data.data.Period;
});
}
myapp.factory('fillperiodService', ['$http', '$cookieStore', 'cfg', '$q', function($http, $cookieStore, cfg, $q) {
var baseurl = cfg.Baseurl;
var urlapi = baseurl + "api/Vehicle/GetEMIPeriod";
return {
getData: function() {
var q = $q.defer();
$http.get(urlapi).then(function(response) {
q.resolve(response);
}, function(error) {
q.reject();
})
return q.promise;
}
}
}]);

上面的代码抛出错误:

Cannot read property 'getData' of undefined.

我已经声明了方法 getData。我不确定上面的代码中缺少什么。我可以得到一些帮助来解决这个问题吗?任何帮助,将不胜感激。谢谢。

最佳答案

工厂似乎没有注入(inject)到您的 Controller 中。因此,在您的函数内部, fillperiodService 未定义。将工厂注入(inject)到要从中调用其方法之一的 Controller 中。然后它就会起作用。

EDIT : 
myapp.controller('fillPeriod', ['fillperiodService', function(fillperiodService){
//here you can call your fillpersiodService.methodName
}])

关于javascript - Angularjs 无法从 javascript 函数调用工厂方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45190728/

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