【问题标题】:How to filter the localStorage data before I use it in Backbone?如何在 Backbone 中使用 localStorage 数据之前对其进行过滤?
【发布时间】:2023-03-05 22:41:01
【问题描述】:

我使用 localStorage 来保存我的 Backbone 应用程序的数据。但是每次我使用this.collection.fetch()获取数据时,我都想先过滤它们,然后只使用部分数据来渲染我的视图。我试图在fetch 中使用ajax dataoptions 来过滤数据,但它不起作用。有人可以给我一些想法吗?

【问题讨论】:

标签: backbone.js local-storage


【解决方案1】:

当然,您可以过滤数据。有多种方法可以做到这一点,因此您需要通过过滤数据更好地解释您的意思。假设一切正常,并且您在 fetch 之后解析所有有效模型,我建议在集合视图的 render() 方法中过滤数据。像这样简单的事情可能会奏效:

render: function() {
  this.collection.each(function(model) {
      if(model.something > somethingElse) {
         // render the model
         ...
      }
  })
},

如果您的意思是您不希望所有获取的数据成为集合的一部分,那么您将需要覆盖集合解析方法。它传递来自本地存储的原始数据,您需要返回集合数据。见here

【讨论】:

  • 我的意思是使用一些过滤器来获取部分数据。我认为这比先检索集合中的所有数据然后过滤它们更有效,对吧?有没有办法只获取部分数据?
  • 嗯,我不认为你想这样做。请记住,从本地存储中获取数据非常快,过早的优化是万恶之源。但如果你必须,看看这个库:westcoastlogic.com/lawnchair
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
相关资源
最近更新 更多