Angular - - $cacheFactory
可能之前的api寫的有些枯燥吧,因?yàn)椴粺X,不需要很多邏輯思維來做處理,那么之后的文章會(huì)有趣很多,慢慢的開始燒腦了,準(zhǔn)備好大量腦細(xì)胞的死亡吧~ ? 先來篇簡(jiǎn)單的緩存服務(wù)。
這里野獸把a(bǔ)pi文檔里的$cacheFactory和?$cacheFactory.Cache 放到一起學(xué)習(xí)。
$cacheFoctory
用于生成一個(gè)用來存儲(chǔ)緩存對(duì)象的服務(wù),并且提供對(duì)對(duì)象的訪問。
$cacheFactory.Cache
一個(gè)用于存儲(chǔ)和檢索數(shù)據(jù)的緩存對(duì)象。主要使用$http和腳本指令來緩存模板和其他數(shù)據(jù)。
?
該服務(wù)有以下方法:
put(key,value);
在緩存對(duì)象中插入一個(gè)鍵值對(duì)(key,value)。
get(key);
在緩存對(duì)象中通過指定key獲取對(duì)應(yīng)的值。
romove(key);
在緩存對(duì)象中通過指定key刪除對(duì)應(yīng)的值。
removeAll();
刪除緩存對(duì)象中所有的鍵值對(duì)。
destroy();
銷毀這個(gè)緩存對(duì)象。
info();
獲取緩存對(duì)象信息(id,size)。
key:string類型,緩存對(duì)象中的值名稱。
value:所有類型,緩存對(duì)象中的值。
使用代碼:
(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} }; }());值的注意的是,這是應(yīng)用程序的緩存服務(wù),而不是瀏覽器本地的緩存。所以當(dāng)你刷新瀏覽器,初始化整個(gè)應(yīng)用程序的時(shí)候,之前的緩存數(shù)據(jù)都會(huì)丟失。那么問 題就來了,怎么才能刷新/初始化應(yīng)用程序而不丟失之前保存的數(shù)據(jù)呢,這個(gè)可以使用localStorage或者cookies,關(guān)于ng的這兩個(gè)存儲(chǔ)操 作,之后的文章會(huì)寫到,現(xiàn)在根據(jù)api一個(gè)個(gè)慢慢來寫,有需要和有興趣的話,也可以自己網(wǎng)上找資料學(xué)習(xí)
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Angular - - $cacheFactory的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: $(document).ready、bo
- 下一篇: mycncart操作使用教程 - 横幅广