我如何确定backbone.js方法接受哪些选项?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何确定backbone.js方法接受哪些选项?相关的知识,希望对你有一定的参考价值。

我正在查看Backbone.js文档,我注意到许多方法接受您可以提供的选项,但未指定它们。

例如,如果你看一下remove() method,你会看到:

删除collection.remove(models,[options]) 从集合中删除模型(或模型数组),并返回它们。每个模型可以是Model实例,id字符串或JS对象,可以作为collection.get的id参数接受的任何值。为每个模型触发“删除”事件,之后发生单个“更新”事件。删除前的模型索引可作为options.index供侦听器使用。

它没有提到它接受什么样的选择。 Backbone.js文档中的许多方法都没有指定它们接受的选项。

我如何确定backbone.js方法接受哪些选项?

答案

删除collection.remove(models,[options])

从集合中删除模型(或模型数组),并返回它们。每个模型可以是Model实例,id字符串或JS对象,可以作为collection.get的id参数接受的任何值。除非传递{silent:true},否则为每个模型触发“remove”事件,然后触发单个“update”事件。删除前的模型索引可作为options.index供侦听器使用。

最新的Backbone文档列出了至少一个选项,它是适用于任何触发事件的Backbone方法的常见选项之一:silent。如果设置为true,则此选项将导致该方法不会触发正常情况。

那么为什么不澄清silent(或任何可能适用于某种方法的选项)是文档中唯一的?为什么要留下一个模棱两可的options

options是一种通用机制,Backbone提供了任何类型的辅助信息,因此options也可以在几个方面用于记录的选项之外......

  1. 该方法可能采用未记录的选项,因为它们仅适用于有限数量的人,或者仅仅因为它们是新的并且Backbone团队没有费心为它们添加文档。如果你想“弄明白”这些选项存在,你必须在引发其添加的GitHub问题中阅读它们,或者自己阅读Backbone源代码。我强烈推荐后一种选择:Backbone的源代码非常易读,您可以从中学到很多东西。
  2. 您可能希望覆盖本机方法,在这种情况下,您可能希望通过相同的options对象获取自己的选项
  3. options被传递到由trigger(或任何事件触发方法)进行的remove调用,这意味着您可以使用它们将信息传递给事件处理程序作为您自己的自定义“选项”

以上是关于我如何确定backbone.js方法接受哪些选项?的主要内容,如果未能解决你的问题,请参考以下文章

如何更新数据库中的整个Backbone.js集合?

将服务器端 MVC 与 Backbone.js 相结合

如何使用 Backbone.js 生成模型 ID

如何将backbone.js 与websockets/socket-io/nowjs 一起使用

Backbone.js - 在视图处于活动状态时添加 keydown 事件?

如何安全地将 Backbone.js 应用程序连接到数据库?