通常對於其中涉及的一系列網頁的使用情況,並在最後階段或頁面我們發佈的數據到服務器。在這種情況下,我們需要維護狀態。在下面的片段中,我們維護客戶端的狀態
正如上面的帖子中提到的。會話使用工廠配方創建。
客戶端會話也可以使用值提供程序配方進行維護。
請參閱我的文章的完整細節。 session-tracking-in-angularjs
讓我們以購物車爲例,我們需要跨各種頁面/ angularjs控制器來維護購物車。
在典型的購物車中,我們在各種產品/類別頁面上購買產品並不斷更新購物車。以下是步驟。
在這裏,我們使用「價值提供者配方」創建具有購物車的自定義注射服務。
'use strict';
function Cart() {
return {
'cartId': '',
'cartItem': []
};
}
// custom service maintains the cart along with its behavior to clear itself , create new , delete Item or update cart
app.value('sessionService', {
cart: new Cart(),
clear: function() {
this.cart = new Cart();
// mechanism to create the cart id
this.cart.cartId = 1;
},
save: function (session) {
this.cart = session.cart;
},
updateCart: function (productId, productQty) {
this.cart.cartItem.push({
'productId': productId,
'productQty': productQty
});
},
//deleteItem and other cart operations function goes here...
});
此會話數據可以存儲在本地存儲中嗎? 如果用戶關閉瀏覽器並返回... – 2013-11-12 10:02:46
請記住,本地存儲是跨子域共享的,所以有點不太安全。 – 2013-11-12 10:32:45
所以在你的情況下,如果用戶關閉他的瀏覽器,他是反正註銷? – 2013-11-12 10:40:03