gpt4 book ai didi

javascript - Angularjs 在另一个工厂中使用工厂值

转载 作者:行者123 更新时间:2023-11-28 11:47:20 25 4
gpt4 key购买 nike

嗨,我正在用 angularjs 开发 Web 应用程序。我有一个 java 脚本文件,其中有两个工厂,它们对 Web api 进行 http 调用。我想在另一工厂内使用一个工厂值输出。下面是我的第一个工厂

myapp.factory('sadadpaymentapi', ['$http', '$cookieStore', 'cfg', 'ScrollFunction', 'leaselisting','$q', function ($http, $cookieStore, cfg, ScrollFunction, leaselisting,$q) {
var sadadpaymentapiobject = {};
var baseurl = cfg.Baseurl;
var LoginID = $cookieStore.get("LoginID");
var cookiePreferredLanguage = $cookieStore.get('PreferredLanguage');
var urlapi = baseurl + "api/ServiceRequest/CreateRSSedad/";
sadadpaymentapiobject.callsadad = function (PaymentType) {
var request = {
url: urlapi,
method: 'POST',
data: {
SRActivityID: LoginID,
PaymentType: PaymentType,
PaymentAmount: "100" //Need to get value from another factory
},
headers: ScrollFunction.getheaders()
};
return $http(request);
}
return sadadpaymentapiobject;
}]);

下面是另一个工厂,我可以在其中获取上述工厂中的 PaymentAmount 参数的值。

myapp.factory('leaselisting', ['$http', '$cookieStore', 'cfg', 'ScrollFunction','$q', function ($http, $cookieStore, cfg, ScrollFunction,$q) {
var leaselistingobject = {};
var baseurl = cfg.Baseurl;
var LoginID = $cookieStore.get("LoginID");
var cookiePreferredLanguage = $cookieStore.get('PreferredLanguage');
leaselistingobject.getValue = function () {
var requestObj = {
url: baseurl + "api/ServiceRequest/GetROLSPSRLeaseList/",
method:'POST',
data: {
LoginID: LoginID,
AccountNumber: $cookieStore.get("AccountNumber")
},
headers: ScrollFunction.getheaders()
};
return $http(requestObj).then(function (response) {
return response.data;
});
}
return leaselistingobject;
}]);

当我像 PaymentAmount: Leaselisting.getValue() 那样注入(inject)时,如果我尝试在控制台中显示注入(inject)的值 console.log(leaselisting.getValue()); 我得到 Promise {$$state等等。我附上了屏幕截图。我需要的是上图变量AccountNumber。 Nesting Factory

我正在尝试在第一个 api PaymentAmount: "100"中执行操作,而不是硬编码,我想从其他工厂获取它。我可以知道该怎么做吗?任何帮助,将不胜感激。谢谢。

最佳答案

将工厂注入(inject)到第二个工厂,其余的与在 Controller 中的操作相同,

myapp.factory('leaselisting', ['$http', '$cookieStore', 'cfg', 'ScrollFunction','$q','sadadpaymentapi', function ($http, $cookieStore, cfg, ScrollFunction,$q,sadadpaymentapi) {

关于javascript - Angularjs 在另一个工厂中使用工厂值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45789437/

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