gpt4 book ai didi

javascript - 更改服务中的数据

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

我有一个从 URL 获取 JSON 的服务,我想更改该数据,但我似乎无法做到这一点。现在我在 Controller 中更改了此设置,但这似乎很困惑,范围未到达我想要的位置。

//SERVICE
app.service("servers", function ($http, $q)
{
// Grab json
var deferred = $q.defer();
$http.get('http://www.mocky.io/v2/58bea87e260000c318f07bfd').then(function (data)
{
deferred.resolve(data);
});

this.getItems = function ()
{
return deferred.promise;
}

})


// CONTROLLER

.controller("AppCtrl", function ($scope, servers, geoIP) {
var promise = servers.getItems();
promise.then(function (data)
{
$scope.items = data.data.items;
});

$scope.getSelectedItem = function() {
return servers.selectedItem;
}


$scope.selectServer = function(item)
{
servers.selectedItem = item;

servers.selectedItem.refactored_match_state = lowerCamelCaseUnderscoreRefactor(servers.selectedItem.session.attributes.match_state);

}

//COMPONENT/TEMPLATES
//dbServerTable
<tr data-ng-repeat="item in items | filter:search | orderBy:'name'" data-ng-click="selectServer(item)">
<td>{{item.display_name}}</td>
</tr>

//dbServerInfoSidebar
<li>{{getSelectedItem().refactored_match_state}}</li>

任何人都可以用代码向我展示如何更改服务中的数据,该服务可以由任何可以访问该服务的 Controller 在任何地方使用

最佳答案

服务的编码方式是一种反模式,应该避免。引用这个link .

如下所示更改您的服务,并在 .then 函数中返回 data 之前对数据进行修改。

app.service("servers", function ($http)
{
this.getItems = function ()
{
return $http.get('http://www.mocky.io/v2/58bea87e260000c318f07bfd')
.then(function (data)
{
// **** Modify data here ****
return data;
});
}

})

关于javascript - 更改服务中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45422200/

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