gpt4 book ai didi

jquery - Backbone this.el jQuery

转载 作者:行者123 更新时间:2023-12-01 00:38:11 25 4
gpt4 key购买 nike

我正在尝试设置 Backbone 应用程序。下面的代码给出以下错误:

Uncaught TypeError: Object # has no method 'append'

define(
[
'jQuery',
'Underscore',
'Backbone',
'text!templates/start.html'
],

function ($, _, Backbone, startTemplate)
{
var StartView = Backbone.View.extend({

// properties
el: $('#container'),

initialize: function ()
{
this.render();
},

render: function ()
{
var template = _.template( startTemplate );
this.el.append( template );
}
});

return new StartView;
}

);

但这可行(请参阅“渲染”功能):

define(
[
'jQuery',
'Underscore',
'Backbone',
'text!templates/start.html'
],

function ($, _, Backbone, startTemplate)
{
var StartView = Backbone.View.extend({

// properties
el: $('#container'),

initialize: function ()
{
this.render();
},

render: function ()
{
var template = _.template( startTemplate );
$(this.el).append( template );
}
});

return new StartView;
}

);

我将 $('#container') 作为 'el' 属性传递,所以我认为这应该可以正常工作。为什么我必须再次使用 jQuery 表示法,例如。 $(this.el) 而不是 this.el

提前非常感谢!

最佳答案

在 Backbone 中,您只需向 el 提供 ID 或类名称即可:

el: '#container'

然后,this.el 引用 DOM 元素,并且(如果您使用的是最新的 Backbone),this.$el 引用 jQuery 对象。

如果您的 Backbone 是最新的,则不需要 $(this.el)

关于jquery - Backbone this.el jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11208755/

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