gpt4 book ai didi

javascript - 区分服务器模型和客户端 View 模型的 Angular 方式

转载 作者:行者123 更新时间:2023-12-02 18:43:30 24 4
gpt4 key购买 nike

我只是想知道在 Angular 应用程序中查看来自服务器的模型数据的最佳实践是什么?

例如,在我的 Controller 中,我从服务器获取模型(使用自定义 ngResource 服务),然后我需要在应用程序的客户端创建某种不同的模型:

customApiService.query({ url: 'items' }, function (res) {
// made it like this and do everything in partials with "ng-repeat"?!
$scope.items = res;

// but i need to model server data on client...
angular.forEach(res, function (key, i) {
$scope.viewModel = {
description: key.anotherNameField // e.g. different third-party services return description under different names
};
});
});

最佳答案

在这种情况下,我们所做的不是直接在 Controller 内使用 Angular 资源。我们创建自己的服务

appRoot.factory('modelService', ['$resource', '$q', function ($resource, $q) {
function ModelClass() {
this.PropertyOne=null;
this.PropertyTwo=null;
}
var serviceObj= {
getData: function () {
$resource('url').query(function(data) {
var modelList=[];
//Do a foreach on each record in 'data' and create 'ModelClass' object and map properties
return modelList;
});
}
}
return serviceObj;
}]);

这使我们能够更好地控制向 Controller 以及 View 公开的内容。这里模型的所有权属于服务。

由于可以在任何地方注入(inject)相同的服务,因此我们不必一次又一次地自定义映射。

关于javascript - 区分服务器模型和客户端 View 模型的 Angular 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16647689/

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