0

我正在尝试开发一个将在页面上加载项目列表的应用程序。每个项目都需要是一个单独的模型,以便跟踪各自的属性。到目前为止,由于列表已加载,我无法在 razor 中成功执行此操作,但在回发时返回为空。我认为backbone.js 将有助于这项工作,但我只能创建一个列表,即时添加和删除项目,而不是预先加载它们。我怎么能这样做呢?

4

2 回答 2

1

使用 Backbone,建议(在文档中)通过引导它们就位来加载所有模型(对于一个集合)。例如,您可以将脚本标记添加到执行以下操作的 html 中:

<script>
  var People = new Backbone.Collection;
  People.reset([{name: "Chris", age:30}, {name: "Josie", age: 27});
  var Projects = new Backbone.Collection;
  Projects.reset([{name: "Programming", due: "Monday"}, {name: "Cleaning", due: "Today"}]);
</script>

...来自 Backbone 文档,已修改:http ://documentcloud.github.com/backbone/#FAQ-bootstrap

或者,您可以 fetch() 内容(发送 ajax 请求):

<script>
  var People = Backbone.Collection.extend({
    url: "/people"
  })
  People.fetch()
</script>
于 2012-04-18T17:37:02.750 回答
0

我不熟悉 Windows 世界,但一种可能的预加载方式是简单地让服务器在脚本标签中写入列表,例如

<script>
  window.myApp.myList = [
     { name: 'fred' },
     { name: 'mary' }
  ]
</script>

然后,您可以使用内联或文件中的主干代码加载该列表:

var people = new PeopleCollection(window.myApp.myList)

希望这足够清楚。

于 2012-04-18T17:42:57.933 回答