Backbone.js Firefox问题

时间:2012-06-05 16:40:12

标签: javascript backbone.js requirejs

你好我在我的应用程序中使用Backbone.js + require.js我在Firefox中渲染模板时遇到问题。它在Chrome中运行良好,即

这是渲染的代码

define([
  'jquery',
  'underscore',
  'backbone',
  'text!templates/home/main.html'
], function ($, _, Backbone, mainHomeTemplate) {

    var mainHomeView = Backbone.View.extend({
        el: $("#page"),
        render: function () {
//            console.log("loading template");
            this.el.html(mainHomeTemplate);
        }
    });
    return new mainHomeView;
});

有人可以告诉我这是什么问题

提前致谢

1 个答案:

答案 0 :(得分:0)

this.el是对视图的原始DOM元素的引用。我想Chrome必须在其原始DOM元素上使用HTML方法,但(显然)Firefox不会。

在任何情况下,你真正想要的是同一元素的jQuery包装版本,你可以使用this.$el获得。如果由于某种原因你使用的是较旧版本的Backbone(最近添加了$ el),你可以改为$(this.el);它会工作相同,但它不太方便。

如果你使用该元素的jQuery包装版本,那么你的.html(mainHomeTemplate)调用将起作用,因为jQuery对象总是有一个“html”方法。