這工作得很好:爲什麼push不能在這個cookie數組上工作?
$cookies.animals = []
$cookies.animals.push({cat: 'meow'})
console.log($cookies.animals) -> [Object]
但相同的工廠函數內部代碼不起作用:
addAnimal: function(id, name, price){
console.log($cookies.animals) //-> [object Object]
$cookies.animals.push({cat: 'meow'}) //-> TypeError: undefined is not a function
}
那麼,爲什麼我得到一個類型錯誤?
如果我這樣做
addAnimal: function(id, name, price){
$cookies.animals = []
console.log($cookies.animals) //-> []
$cookies.animals.push({cat: 'meow'}) //-> works
}
它的工作原理(當然它重置陣列)這樣一些奇怪的事情是發生在$cookies.animals
。
如果我們看一下我的console.log
工廠函數內部:
我們得到這樣的:
[object Object]
Object
大寫O
是我的貓,但奇怪的object
做邪惡的東西,我認爲。它甚至來自哪裏?
真的不知道發生了什麼很坦白。請幫助。所有我想要做的就是追加到一個數組...
你能詳細解釋一下序列化和反序列化嗎?可能有一個例子嗎?謝謝 – Starkers 2014-10-27 22:45:14
我已經添加了一個指向JSON序列化頁面的鏈接,並添加了最少的代碼示例。 – JAAulde 2014-10-27 22:50:25
@JJAAulde酷...這是一個工作,但?或者做得很好,被廣泛使用?唯一的選擇是存儲在多個cookie中,但我不想用一大堆cookies來填滿客戶端! – Starkers 2014-10-27 22:54:54