从LocalStorage获取Backbone.js模型

时间:2012-03-13 14:59:52

标签: backbone.js coffeescript local-storage

我可能会遗漏一些简单的东西,但我似乎无法找到我正在寻找的答案。

我正在使用Backbone在CoffeeScript中为购物车编写前端,而服务器REST api正在完成中,我正在尝试使用localStorage适配器。

基本上在我的应用程序条目中,我想抓住购物车(如果存在),否则创建一个新购物车。

我知道我可以从localStorage中获取JSON但是如何在页面加载时将其作为Cart模型获取?

我基本上想要这样的东西(cart.get(1)就是我需要的东西)

# entry point
$ ->
  cart = cart.get(1) || new Cart800.Cart id: 1
  new Cart800.CheckoutView model: cart

# model
class Cart800.Cart extends Backbone.Model
  localStorage: new Store 'Cart'

  defaults: ->
    State: new Cart800.State
    Instances: new Cart800.Instances [ new Cart800.Instance ]

我假设我不需要购物车系列,因为总是只有一个购物车,但据我所知,系列是通过ID获取模型的唯一方式。

感谢您的任何指示

1 个答案:

答案 0 :(得分:1)

如果你有模型的JSON,你唯一要做的就是实例化Backbone模型并传递JSON。 JSON将被移植到表示数据的实际模型中:

cart = new Cart800.Cart(cart.get(1) || id: 1)
new Cart800.CheckoutView model: cart