通常对于涉及一系列页面的用例,在最后阶段或页面中,我们将数据发布到服务器。在这种情况下,我们需要维护状态。在下面的代码片段中,我们维护客户端的状态
正如上面的帖子中提到的。会话是使用工厂配方创建的。
客户端会话也可以使用价值提供者配方来维护。
有关完整的详细信息,请参阅我的帖子。
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...
});