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

时间:2015-12-03 00:07:33

标签: methods backbone.js

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

例如,如果您查看remove() method,您会看到:

  

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

  从集合中删除模型(或模型数组),并返回它们。每个模型可以是Model实例,id字符串或JS对象,可以作为collection.get的id参数接受的任何值。触发"删除"每个模型的事件,以及单个"更新"之后的活动。删除前的模型索引可作为options.index。

供侦听器使用

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

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

1 个答案:

答案 0 :(得分:0)

  

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

     

从集合中删除模型(或模型数组),然后返回   他们。每个模型都可以是Model实例,id字符串或JS对象,   可以接受的任何值作为collection.get的id参数。发射一个   "除去"每个模型的事件,以及单个"更新"事后,   除非传递{silent:true}。删除前的模型索引是   作为options.index可供听众使用。

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

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

options是一种通用机制,Backbone可以提供任何类型的辅助信息,因此options也可以通过几种方式在文档选项之外使用...

  1. 该方法可能会采用未记录的选项,因为它们仅适用于有限数量的人,或者仅仅因为它们是新的并且Backbone团队没有为他们添加文档而烦恼。如果你想"弄明白"如果存在这些选项,您必须在引发其添加的GitHub问题中阅读它们,或者自己阅读Backbone源代码。我强烈推荐后一种选择:Backbone的源代码非常易读,您可以从中学到很多东西。

  2. 您可能希望覆盖本机方法,在这种情况下,您可能希望通过相同的options对象

  3. 选择自己的选项
  4. options会传递到trigger(或任何事件触发方法)发出的remove调用,这意味着您可以使用它们将信息传递到事件处理程序作为您自己的自定义"选项"