在angular$resource上添加一个自定义函数
add a custom function on angular $resource
我有一个类似的角度资源
app.factory('User', function ($resource) {
return $resource(
'/api/user/:listCtrl:id/:docCtrl/', {
id: '@id',
listCtrl: '@listCtrl',
docCtrl: '@docCtrl'
}, {
update: {
method: 'PUT'
},
current: {
method: 'GET',
params: {
listCtrl: 'current'
}
},
nearby: {
method: 'GET',
params: {
docCtrl: 'nearby'
},
isArray: true
}
}
);
});
现在我想在视图中有全名,我可以添加一个方法吗?这样当我进行时
$scope.user = User().current();
而不是在html 中执行以下操作
<p>{{ user.first_name }} {{ user.last_name }}</p>
我做这个
<p>{{ user.get_full_name }}</p>
有没有办法将此属性添加到$resource
?
您可以使用transformResponse将其添加为属性,但我建议您只为每个返回名字和姓氏组合的对象添加一个方法:
app.factory('User', function ($resource) {
var User = $resource(
'/api/user/:listCtrl:id/:docCtrl/', {
id: '@id',
listCtrl: '@listCtrl',
docCtrl: '@docCtrl'
}, {
update: {
method: 'PUT'
},
current: {
method: 'GET',
params: {
listCtrl: 'current'
}
},
nearby: {
method: 'GET',
params: {
docCtrl: 'nearby'
},
isArray: true
}
}
);
// add any methods here using prototype
User.prototype.get_full_name = function() {
return this.first_name + ' ' + this.last_name;
};
return User;
});
然后使用:
<p>{{ user.get_full_name() }}</p>
使用原型添加的任何函数都将添加到服务返回的每个对象上。如果您需要复杂地获取或设置服务属性,这是添加辅助方法的好方法。
在玩了一段时间angular之后,我认为客户过滤器将是一种更明智的方法,而不是在$resource上添加属性。
以下是如何进行过滤
app.filter('getFullName', function () {
return function (input) {
if (input) {
return input.first_name + ' ' + input.last_name;
} else {
return 'default';
}
};
});
我认为您应该从transformResponse
的角度来看待它。
顺便说一句,你用的是什么版本的angularjs
?
相关文章:
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 如何调用另一个js文件中的函数或触发一个自定义事件,该事件将参数作为Jquery中的数据对象传递
- 如何使用Angular 1.5组件将属性求值为字符串,这是一个自定义函数
- 为谷歌工作表创建一个自定义函数
- Vaadin:调用一个自定义的JavaScript函数
- 这些事件处理程序中的哪一个应该在窗口关闭时触发自定义函数
- 我对javascript中的一个自定义函数感到困惑,该函数将对象作为参数获取
- 当我的函数完成时,使用 JavaScript(或 jQuery)触发一个自定义事件
- 不将函数声明为另一个自定义函数的原型的用例
- 在d3.json中编写一个自定义函数
- 在angular$resource上添加一个自定义函数
- 如何执行我的回调函数是一个自定义Dojo模块
- 如何在另一个自定义帮助程序中调用一个自定义辅助程序函数
- 在谷歌文档中,当你将一堆单元格传递到一个自定义函数中时,你如何确定长度
- 使用自定义函数作为另一个函数的参数
- 在JQgrid的summaryType中编写一个自定义函数,用于组值的减法
- 从条件javascript函数返回一个自定义对话框
- 如何在jQuery中编写一个自定义函数来禁用一些日期?
- 根据jQuery,我的自定义函数不是一个函数
- Javascript 自定义函数,内部有一个检查 for 循环