【问题标题】:this that pass inside object as parameter to Backbone View : "window" or "backbone view" object?这将对象作为参数传递给主干视图:“窗口”或“主干视图”对象?
【发布时间】:2012-06-26 21:06:28
【问题描述】:

代码:

var Appointment = Backbone.Model.extend({});
var appointment = new Appointment();
appointment.set('title', 'My knee hurts');
var AppointmentView = Backbone.View.extend({
  render: function(){
    $(this.el).html('<li>' + this.model.get('title') + '</li>');
  }
});

关于那个的问题:$(this.el)... 看起来“this”是“window”对象而不是事件对象?

如果你能深入解释它是如何工作的,请。

谢谢, 约瑟夫

【问题讨论】:

    标签: backbone.js


    【解决方案1】:

    在backbone.js 视图中,this 绑定到视图对象,而不是窗口。如果需要,您可以访问事件对象,并通过那里获取对目标元素的引用。请查看此question 了解更多信息。

    【讨论】:

    • 你能解释一下它是怎么做的吗?骨干如何利用这个 == 窗口并将其变成 == 骨干事件?
    • 谢谢,您能否在主干代码中显示将其识别为视图对象的位置?
    • @Yosef:你的意思是this part of delegateEvents
    • 我并没有仔细观察,但我认为它在方法 delegateEvents 中从1224 开始,更具体地说是第 1233 行 method = _.bind(method,this)_bind 是 underscore.js 方法) .
    猜你喜欢
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    相关资源
    最近更新 更多