主干自定义事件回调参数
Backbone custom event callback arguments
我试图在一个自定义事件中使用trigger()
函数从一个视图传递一个名为newIndex的参数。以下是第一个视图的摘录:
var ProductListView = Backbone.View.extend({
el: '#products',
events:{
sortupdate: function(event, ui){
ui.item.trigger('moved', ui.item.index());
}
}
});
触发'moved'事件的元素是另一个视图。以下是该观点的节选:
var ProductItemView = Backbone.View.extend({
events: {
moved: 'viewMoved'
},
initialize: function(){
_.bindAll(this, 'render', 'viewMoved');
},
viewMoved: function(newIndex){
anotherFunc(this.model, newIndex);
},
});
我遇到的问题是,在anotherFunc()
调用中,newIndex参数似乎是事件本身,而不是我触发事件时传入的值。如果我调整viewMoved
回调如下,它可以正常工作:
viewMoved: function(event, newIndex){
anotherFunc(this.model, newIndex);
},
这是预期的功能吗?事件本身是否总是传递给自定义事件回调的第一个参数,还是这里发生了其他事情?如果是有意的,有文档记录吗?
Backbone在底层大量使用jQuery,您的ui.item
实际上是一个jQuery对象。查看触发器函数的文档。
总之,你正在使用jQuery的trigger
,因为ui.item
不是骨干视图。额外的参数总是在event
对象之后传递。
相关文章:
- 要求未定义JS回调参数
- Axios spread()具有未知数量的回调参数
- 节点回调参数无法断言instanceof Error
- each()-将额外的参数传递给回调参数
- AngularJS tokenWrapper-错误的回调参数
- 拉斐尔未运行回调参数
- 使用 jQuery 回调参数通过 AJAX 调用 PHP 函数
- 将函数的执行同步为 node.js 中的回调参数
- 当第一个函数完成没有回调参数时执行第二个函数
- 使用回调参数从函数中获取值
- 如何使用可选的回调参数制作 javascript 函数
- 为什么设置超时's回调参数可以接受参数
- 对 Array.prototype.some 使用额外的回调参数
- 使用Google闭包编译器记录回调参数
- JavaScript Object Literal“;这个“;关键字jQuery回调参数传递
- 在Meteor中运行的回调中未定义回调参数
- 回调参数名称
- 将jQueryajax回调参数定义为现有对象类型
- Reactjs路由器匹配回调参数总是未定义的
- Javascript自定义事件更改回调参数