Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js中上下文(最后一个参数)的默认值是多少;关于;功能?_Backbone.js - Fatal编程技术网

Backbone.js中上下文(最后一个参数)的默认值是多少;关于;功能?

Backbone.js中上下文(最后一个参数)的默认值是多少;关于;功能?,backbone.js,Backbone.js,我从来没有真正弄清楚backbone.js的.on()函数中的第三个参数是什么(应该是上下文): 根据:它似乎在内部设置了这个的值 有人能举一个这样的例子吗。我通常在上使用,没有上下文,它似乎引用了视图此,但偶尔它引用其他内容(我无法理解) 那么,默认情况下设置上下文的主干逻辑是什么呢?你什么时候希望这个不引用视图?是否有任何方法使其始终引用视图而不指定this作为上下文参数?如果查看,您将看到默认的上下文是什么: on: function(name, callback, context) {

我从来没有真正弄清楚backbone.js的
.on()
函数中的第三个参数是什么(应该是上下文):

根据:它似乎在内部设置了
这个
的值
有人能举一个这样的例子吗。我通常在
上使用
,没有上下文,它似乎引用了视图
,但偶尔它引用其他内容(我无法理解)

那么,默认情况下设置
上下文的主干逻辑是什么呢?你什么时候希望
这个
不引用视图?是否有任何方法使其始终引用视图而不指定
this
作为上下文参数?

如果查看,您将看到默认的
上下文是什么:

on: function(name, callback, context) {
  //...
  events.push({callback: callback, context: context, ctx: context || this});
  //...
},
因此,默认的
context
是调用
上的任何对象:
ctx:context | this
。如果你只是说:

model.on('event', this.callback);
然后,当调用时,
将在
回调
模型
。如果您希望
成为视图,则可以这样说:

// Inside a view...
model.on('event', this.callback, this);
或者,使用、、等将
回调
设为绑定函数

为什么要指定
上下文
?嗯,在一个回调中,它是视图上的一个方法,您可能希望
this
成为视图,而
on
无法在调用
on
时知道视图是什么:您无法展开堆栈来找出
this
在调用链上的某个位置,即使可以,您也不知道在哪里停止。因此,在(…)
中使用
x中的
x
是唯一合理的默认值,如果您想要其他内容,可以很容易地这样说

// Inside a view...
model.on('event', this.callback, this);