gpt4 book ai didi

javascript - 从 Angular Controller 访问字典

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

我正在尝试执行以下操作。

Angular Controller 调用和 MVC Controller GET 方法。然后,此方法调用 Web 上的 REST API,该 API 返回配置项列表。然后我将其转换为字典,以便我可以根据键查找配置值,然后我想将其传递回 Angular Controller 并将其存储在一个变量中,我可以从许多不同的场景访问该变量,例如显示它们在网格中,更新值,将它们更改并更新回 REST API 等。我尝试设置管道,但似乎无法在 Angular Controller 中以可读/可用的格式获取数据。

我的 Controller

app.controller("SEFlexHomeController", ["$scope", "$http", "$modal", "$log", "$element", "$rootScope", "AlertsService", "AuthService", "SEApplicationService", function ($scope, $http, $modal, $log, $element, $rootScope, AlertsService, AuthService, SEApplicationService) {
$rootScope.closeAlert = AlertsService.closeAlert;
$scope.isDataLoading = false;
$scope.AuthService = AuthService;
$scope.configvalues = angular.fromJson(SEApplicationService.getCloudConfigParams());
}
]);

我的 Angular 服务

app.factory("SEApplicationService", ["$log", "$http", "$timeout", function($log, $http, $timeout) {

var appService = {};

appService.getCloudConfigParams = function () {
return $http.get("/SEFlex/SEFlexAdmin/GetCloudConfigValues");
}

return appService;
}]);

我的 MVC Controller

public ActionResult GetCloudConfigValues()
{
try
{
var helper = new ApplicationServiceHelper();
var dictionary = helper.GetCloudConfigValues()
.ToList()
.ToDictionary(item => item.ConfigKey, item => item.ConfigValue);

var returnData = JsonConvert.SerializeObject(dictionary);

return Json(new
{
success = true,
data = returnData
}, JsonRequestBehavior.AllowGet);

}
catch (Exception exception)
{
return Json(new
{
success = false,
errors = new[] { exception.Message }
});
}
}

我可以确认在 MVC Controller 中创建字典时,该字典看起来与 .NET 字典的预期一致。在以 Angular 传输回来或返回之前,我需要做什么来转换它,以便我可以以 Angular 方式访问它

$scope.configvalues["keyName"]

最佳答案

$http.get()来电返回a promise 。您应该更改

$scope.configvalues = angular.fromJson(SEApplicationService.getCloudConfigParams());

SEApplicationService.getCloudConfigParams().then(function(config) {
$scope.configvalues = config;
});

关于javascript - 从 Angular Controller 访问字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33021586/

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