AngularJS 服务器提供的枚举
AngularJS enums provided by server
我需要在 angularJS 应用程序中为员工分配部门。
我在服务器端创建了 API 资源,其中 returns JSON 可能值数组。
[
{"id":0,"name":"human resources"},
{"id":1,"name":"public relations"},
{"id":2,"name":"development"}
]
我的员工资源使用部门 ID,就像这样..
{
employeeId: 1,
firstName: "Adam",
lastName: "Abrons",
departmentId: 2
}
我想在 angular 过滤器中使用这些值来查看员工,并在 ngOptions 指令中使用这些值来编辑员工。
由于这些枚举值非常稳定,我如何加载它们一次并将它们保存在客户端直到用户离开网站?
您可以使用$http
模块
中的构建缓存功能
$http.get('/api/enums', {cache: true}).success(function(enums){
});
此外,您还可以将其包装为service
angular.module('app').service('enumService', function ($http) {
return {
getEnums: getEnums
};
function getEnums(){
return $http.get('/api/enums', {cache: true});
}
});
其他方式使用承诺(归功于JB Nizet的评论)
angular.module('app').service('enumService', EnumService);
function EnumService($http) {
var getEnumsPromise = $http.get('/api/enums');
return {
getEnums: getEnums
};
function getEnums(){
return getEnumsPromise;
}
}
我需要在 angularJS 应用程序中为员工分配部门。 我在服务器端创建了 API 资源,其中 returns JSON 可能值数组。
[
{"id":0,"name":"human resources"},
{"id":1,"name":"public relations"},
{"id":2,"name":"development"}
]
我的员工资源使用部门 ID,就像这样..
{
employeeId: 1,
firstName: "Adam",
lastName: "Abrons",
departmentId: 2
}
我想在 angular 过滤器中使用这些值来查看员工,并在 ngOptions 指令中使用这些值来编辑员工。
由于这些枚举值非常稳定,我如何加载它们一次并将它们保存在客户端直到用户离开网站?
您可以使用$http
模块
$http.get('/api/enums', {cache: true}).success(function(enums){
});
此外,您还可以将其包装为service
angular.module('app').service('enumService', function ($http) {
return {
getEnums: getEnums
};
function getEnums(){
return $http.get('/api/enums', {cache: true});
}
});
其他方式使用承诺(归功于JB Nizet的评论)
angular.module('app').service('enumService', EnumService);
function EnumService($http) {
var getEnumsPromise = $http.get('/api/enums');
return {
getEnums: getEnums
};
function getEnums(){
return getEnumsPromise;
}
}