gpt4 book ai didi

backbone.js - 将函数传递给 `events` 散列

转载 作者:行者123 更新时间:2023-12-04 02:47:25 25 4
gpt4 key购买 nike

Backbone.View 实例中,可以设置回调的 events 散列:

events: { 'click #element' : 'myFunction' }

当我尝试访问的函数不是 View 实例的直接函数时(例如 this.model.myFunction),我无法在 events 中传递该函数哈希。我试过:

events: { 'click #element' : 'model.myFunction' }

events: { 'click #element' : this.model.myFunction }

我如何告诉我的主干 View 使用 this.model.myFunction 作为直接来自 events 哈希的回调?

最佳答案

不,你不能那样做。 relevant chunk of Backbone看起来像这样:

delegateEvents : function(events) {
if (!(events || (events = getValue(this, 'events')))) return;
this.undelegateEvents();
for (var key in events) {
var method = this[events[key]];
if (!method) throw new Error('Event "' + events[key] + '" does not exist');
//...

因此 events 中的值必须是 View 对象中的方法名称。你可以自己路由事件:

events: { 'click #element': 'myFunction' },
// ...
myFunction: function(e) {
this.model.myFunction(e);
}

关于backbone.js - 将函数传递给 `events` 散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8651345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com