![](/img/trans.png)
[英]How to check if a particular resource (e.g. image) is cached by the browser?
[英]Angular - Generic image service vs resource-specific (e.g., user, image, animal) image services
我在解決問題時遇到了一些麻煩,可能需要一些幫助。
我正在為我的客戶端MVC框架使用Angular.js在Rails中開發一個應用程序,並創建了一個服務,Angular可以通過該服務獲取圖像。 這很簡單:
var ImageServices = angular.module("ImageServices", ["ngResource"]);
ImageServices.factory("Image", ["$resource",
function ($resource) {
return $resource("/images/:id.json", {}, {
"query" : { method: "GET", params: {}, isArray: true },
"update" : { method: "PUT", params: { id: "@id" } },
"remove" : { method: "DELETE" }
});
}
]);
就我的目的而言,以上服務可能有點過於通用。 我想要該服務提供給我的是與給定用戶關聯的所有圖像。 我想可以通過將所需的圖像數據嵌套在用戶數據中來完成此操作,如下所示:
user = {
// user attributes
blah: "blah",
//image objects
images: [
{}
]
}
或者,也許我可以以某種方式在Rails中編寫代碼,該代碼將返回與用戶關聯的所有圖像,因此:
http://localhost:3000/users/1/images.json
或者也許我可以為要返回Angular的每種數據類型提供服務。
在架構上,我不確定什么有意義。 有人可以提供一些最佳路徑可能的見解嗎? 如果沒有一成不變的答案,如果可以推薦的話,我不反對讀一本有關該主題的書。 謝謝!
$ resource服務有點像$ http服務的包裝器。 它內置了一些方法。
services.factory('Images', ['$resource',
function($resource) {
return $resource('/images/:id', {id: '@id'});
}]);
@id告訴它從其對象中選擇id字段,並將其用作id參數。 因此,根據您的情況,您可以執行{id:'@user'}。
以上資源使您可以訪問:
Images.get() //GET Single JSON
Images.save() //POST Single JSON
Images.query() //GET JSON Array
Images.remove() //DELETE Single JSON
Images.delete() //DELETE Single JSON
Images.get({id: 15}) //will make return all images for a user through a call to /images/15.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.