可能之前的api寫的有些枯燥吧,因為不燒腦,不需要很多邏輯思維來做處理,那么之后的文章會有趣很多,慢慢的開始燒腦了,准備好大量腦細胞的死亡吧~ 先來篇簡單的緩存服務。
本文將api文檔里的$cacheFactory和 $cacheFactory.Cache 放到一起學習,其實就差不多的東西。
$cacheFoctory
用於生成一個用來存儲緩存對象的服務,並且提供對對象的訪問。
$cacheFactory.Cache
一個用於存儲和檢索數據的緩存對象。主要使用$http和腳本指令來緩存模板和其他數據。
該服務有以下方法:
put(key,value);
在緩存對象中插入一個鍵值對(key,value)。
get(key);
在緩存對象中通過指定key獲取對應的值。
romove(key);
在緩存對象中通過指定key刪除對應的值。
removeAll();
刪除緩存對象中所有的鍵值對。
destroy();
銷毀這個緩存對象。
info();
獲取緩存對象信息(id,size)。
key:string類型,緩存對象中的值名稱。
value:所有類型,緩存對象中的值。
使用代碼:
(function () { angular.module("Demo", []) .controller("testCtrl", ["$cacheFactory",testCtrl]); function testCtrl($cacheFactory) { var myCache = $cacheFactory("my-cache"); myCache.put("cache", "This is cache-content"); myCache.put("another-cache", "This is another cache-content"); var getCache = myCache.get("cache"); //This is cache-content var getInfo = myCache.info();//{id: "my-cache", size: 2} myCache.remove("another-cache"); getInfo = myCache.info();//{id: "my-cache", size: 1} myCache.removeAll(); getInfo = myCache.info();//{id: "my-cache", size: 0} myCache.destroy(); getInfo = myCache.info();//{size: 0} }; }());
值的注意的是,這是應用程序的緩存服務,而不是瀏覽器本地的緩存。所以當你刷新瀏覽器,初始化整個應用程序的時候,之前的緩存數據都會丟失。那么問題就來了,怎么才能刷新/初始化應用程序而不丟失之前保存的數據呢,這個可以使用localStorage或者cookies,關於ng的這兩個存儲操作,之后的文章會寫到,現在根據api一個個慢慢來寫,有需要和有興趣的話,也可以自己網上找資料學習或和野獸進行交流討論,大家共同進步...