为什么在此主干todo-mvc示例应用程序中需要“应用”?

林斯坦面条

在Backbone Todo MVC源代码中,该函数的本机apply方法用于在使用的情况下调用Underscore方法,而且我不明白为什么这样做是必要的。

// Filter down the list of all todo items that are finished.
completed: function() {
  return this.filter(function( todo ) {
    return todo.get('completed');
  });
},

// Filter down the list to only todo items that are still not finished.
remaining: function() {
  return this.without.apply( this, this.completed() );
},

要将呼叫没有看起来不合适,相比于其他下划线的方法,如过滤器我仔细检查了Backbone来源,以确保没有将No混入Collection对象中。果然不是。

下划线方法是如何附加到Collection的:

_.each(methods, function(method) {
  Collection.prototype[method] = function() {
    var args = slice.call(arguments);
    args.unshift(this.models);
    return _[method].apply(_, args);
  };
});

如预期的那样-Collection的模型已经作为第一个参数传递了。此外,由于方法是在Collection对象上调用的,因此将正确地对其进行限制。

我通过将方法更改为以下内容来验证了这一点

this.without(this.completed());

那很好。

我在这里俯瞰什么?

凯尔

我认为您没有忽略任何事情。这只是对的不必要调用apply可能作者最初写了以下内容(可能是主干的早期版本)。

// Filter down the list to only todo items that are still not finished.
remaining: function() {
  return _.without.apply( this, this.completed() );
},

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我在bluemix示例应用程序中超时?

来自分类Dev

为什么应用程序在此活动中崩溃?

来自分类Dev

什么是GCM通知示例中的“应用程序密钥”?

来自分类Dev

什么是GCM通知示例中的“应用程序密钥”?

来自分类Dev

为什么在此示例中未应用SFINAE?

来自分类Dev

为什么我的数据库不能在此Python / Django应用程序中工作?

来自分类Dev

为什么在此应用程序中损坏了JQuery Cycle插件?

来自分类Dev

为什么在此FXML应用程序中未显示TreeView根目录?

来自分类Dev

为什么$ http请求在此Cordova应用程序中不起作用?

来自分类Dev

XAMPP为什么需要更改应用程序文件夹的应用程序权限?

来自分类Dev

为什么部分应用程序需要指定参数类型?

来自分类Dev

为什么需要mono来调试节点应用程序?

来自分类Dev

如果应用程序足够,为什么序列需要monad?

来自分类Dev

NetBeans Todo示例php应用程序中的spl_autoload_register如何工作?

来自分类Dev

为什么需要在项目的应用程序中列出库依赖项?

来自分类Dev

为什么需要在我们的应用程序中刷新数据库视图?

来自分类Dev

express logger、morgan logger 等为什么我的服务器应用程序中需要这个?

来自分类Dev

为什么我需要在我的独立应用程序中添加脚本引擎

来自分类Dev

在React Redux应用程序中规范状态的示例是什么?

来自分类Dev

android示例蓝牙聊天应用程序中此tmp变量的用途是什么

来自分类Dev

为什么只需要将Windows应用程序安装到OS X应用程序中却可以将其拖到文件夹中?

来自分类Dev

为什么在MVC应用程序中使用JSON?

来自分类Dev

为什么在此示例中需要“ where T:class”?

来自分类Dev

为什么在此Javascript示例中需要调用?

来自分类Dev

为什么在此示例中需要队列锁定

来自分类Dev

为什么在此示例中需要Handler对象?

来自分类Dev

为什么在此示例代码中不需要 readSync?

来自分类Dev

为什么DataFormatString在我的MVC应用程序中不起作用?

来自分类Dev

为什么在ASP.NET MVC 4 Web应用程序中未调用我的操作?

Related 相关文章

  1. 1

    为什么我在bluemix示例应用程序中超时?

  2. 2

    为什么应用程序在此活动中崩溃?

  3. 3

    什么是GCM通知示例中的“应用程序密钥”?

  4. 4

    什么是GCM通知示例中的“应用程序密钥”?

  5. 5

    为什么在此示例中未应用SFINAE?

  6. 6

    为什么我的数据库不能在此Python / Django应用程序中工作?

  7. 7

    为什么在此应用程序中损坏了JQuery Cycle插件?

  8. 8

    为什么在此FXML应用程序中未显示TreeView根目录?

  9. 9

    为什么$ http请求在此Cordova应用程序中不起作用?

  10. 10

    XAMPP为什么需要更改应用程序文件夹的应用程序权限?

  11. 11

    为什么部分应用程序需要指定参数类型?

  12. 12

    为什么需要mono来调试节点应用程序?

  13. 13

    如果应用程序足够,为什么序列需要monad?

  14. 14

    NetBeans Todo示例php应用程序中的spl_autoload_register如何工作?

  15. 15

    为什么需要在项目的应用程序中列出库依赖项?

  16. 16

    为什么需要在我们的应用程序中刷新数据库视图?

  17. 17

    express logger、morgan logger 等为什么我的服务器应用程序中需要这个?

  18. 18

    为什么我需要在我的独立应用程序中添加脚本引擎

  19. 19

    在React Redux应用程序中规范状态的示例是什么?

  20. 20

    android示例蓝牙聊天应用程序中此tmp变量的用途是什么

  21. 21

    为什么只需要将Windows应用程序安装到OS X应用程序中却可以将其拖到文件夹中?

  22. 22

    为什么在MVC应用程序中使用JSON?

  23. 23

    为什么在此示例中需要“ where T:class”?

  24. 24

    为什么在此Javascript示例中需要调用?

  25. 25

    为什么在此示例中需要队列锁定

  26. 26

    为什么在此示例中需要Handler对象?

  27. 27

    为什么在此示例代码中不需要 readSync?

  28. 28

    为什么DataFormatString在我的MVC应用程序中不起作用?

  29. 29

    为什么在ASP.NET MVC 4 Web应用程序中未调用我的操作?

热门标签

归档