我正在构建由第三方API支持的AngularJS应用程序。我有一个这样的基本资源:AngularJS - 如果API响应为null,则初始化ngResource对象
module.factory('UserPreference', function($resource) {
return $resource('/users/:user_id/preferences/:preference_type_id', {
user_id: "@user_id",
preference_type_id: "@preference_type_id"
})
})
如果用户没有指定某个首选项类型的首选项,结果将为空。我想在响应为空的情况下初始化对象。
{user_id: 1, preference_type_id: 1, preference: null}
我可以看到两个选项:
- 工厂内transformResponse做到这一点
- 处理它在控制器
1似乎是一个清洁的选择,因为这是真的一个数据问题不仅仅是一个控制器问题,但我无法弄清楚如何做到这一点的细节。具体而言,我无法访问传递给资源的:user_id和:preference_type_id params。
我应该在控制器中处理这个问题吗?有什么明显的我失踪了吗?