gpt4 book ai didi

javascript - 具有动态路由的 Angular $http.get?

转载 作者:行者123 更新时间:2023-11-30 08:44:57 24 4
gpt4 key购买 nike

我是 Angular 的新手,我正在尝试了解如何使用范围变量从 REST API 进行查询以确定在 get 请求中提取的 URI。

假设我在我的 app.controller 中,它有一个服务可以输出一组数字..为了使代码最少,我将跳到重要的部分:

$scope.currentCompanyId = '0001';

$http.get('/api/'+ $scope.currentCompanyId +'/c').
success(function(data, status, headers, config) {
$scope.cData = data;
}).
error(function(data, status, headers, config) {
// log error
});

我知道这是作弊,因为 $http.get 在 Controller 中。我知道它需要是某种工厂..但我不知道如何将 $scope.currentCompanyID 传递给 get 请求并让它返回 JSON。此外,如果 $scope.currentCompanyID 更改为另一个数字,比如...'0002'.. $scope.cData 将如何更改以反射(reflect)新查询?

最佳答案

我不认为在 Controller 中使用 $http 是作弊 - 将其放入工厂/服务的一个原因是使其可重用。如果您只在一个地方做这件事,服务不会增加太多。

也就是说,您的服务可以返回一个带有参数的函数:

app.factory("service", function($http) {
return {
getCompany: function(companyId) { ...make $http call and return data... }
}
});

然后在你的 Controller 中:

service.getCompany($scope.currentComanyId).then(function(resp) {...})

关于javascript - 具有动态路由的 Angular $http.get?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22814841/

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