首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >todo.js中的todo参数是什么

todo.js中的todo参数是什么
EN

Stack Overflow用户
提问于 2013-01-18 15:53:41
回答 1查看 100关注 0票数 0

在backbone todo应用中,有这样一个功能:

代码语言:javascript
复制
addOne: function(todo){
var view=new app.TodoView({model:todo});
$("#todo-list").append(view.render().el);  
}

我不明白'todo‘参数在上面的函数中接收的是什么?

此函数由另一个函数调用:

代码语言:javascript
复制
addAll: function(){
this.$("#todo-list").html('');
app.Todos.each(this.addOne,this); 
 }

第一个函数是将其作为模型传递给其他视图。我想我在这里缺少一些基本的东西。请放出一些光芒。如果需要更多代码,请让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-18 17:14:12

我使用这个待办事项列表作为参考:http://backbonejs.org/examples/todos/todos.js

Short answeraddOne: function(todo){中的Todo引用了Todo集合中的单个Todo模型。

较长的应答

让我们将其分解一下。

代码语言:javascript
复制
  Todos.each(this.addOne, this);

这里的TodosTodo ModelsCollection。这段代码遍历集合,集合中的每个Todo模型都作为todo传递给addOne函数。它还将addOne函数中的上下文(或this值)设置为当前this (引用App)。如果他们没有这样做,那么addOne函数中的this将引用集合中的当前模型(todo)

代码语言:javascript
复制
// Add a single todo item to the list by creating a view for it, and
// appending its element to the `<ul>`.
addOne: function(todo) {                           // todo refers to a single model in the collection
  var view = new TodoView({model: todo});          // create a new TodoView with the todo model
  this.$("#todo-list").append(view.render().el);   //<- 'this' refers to 'App'. append the newly created view into the DOM, hence displaying it.
},

addOne函数中,我们创建一个新的TodoView并将其附加到要显示的DOM中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14394580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档