我的AngularJS应用程序从rails JSON API获取服务器数据,并且API路由已本地化,例如:
/:locale/api/categories/
我正在尝试定义一个可以启用本地化的$resource
。到目前为止,我没有成功(请参阅我在下面尝试过的方法)。
首次尝试
$resource('/:localeId/api/categories/:categoryId', {
localeId: $locale.id,
categoryId: "@id",
format: 'json'
})
这不起作用。 localeId
仅在创建$resource
时评估一次。
第二次尝试
$resource('/:localeId/api/categories/:categoryId', {
localeId: "$locale.id",
categoryId: "@id",
format: 'json'
})
这也不起作用,生成的网址为/$locale.id/api/categories/
。
第三次尝试
$resource('/:localeId/api/categories/:categoryId', {
localeId: "@localeId",
categoryId: "@id",
format: 'json'
})
这有效,但每次我使用localeId
时都要求我定义$resource
。
是否有更好的方法可以在$locale.id
网址中自动使用$resource
?
答案 0 :(得分:0)
只需提供一个返回值(see documentation)的函数:
$resource('/:localeId/...', {
localeId: function () {
return $locale.id;
},
// ...
})