当我使用 Meteor 时,我在使用标准 jQuery 功能时遇到了一些困难。我的主要“客户端/服务器”JS 文件如下所示:
if (Meteor.is_client) {
$(document).ready(function(){
$('#myDiv').append("foo");
console.log('bar');
});
}
当我加载应用程序时,'bar' 记录正常,但 .append 不起作用。如果我在页面加载后在控制台中调用相同的 .append ,它工作正常。(类似地,如果我在非 Meteor 设置中运行相同的代码,它也可以正常工作。)
我实际想要运行的代码如下所示:
$(document).ready(function(){
var myModel = new MyModel({"name": "foo"});
var myModelView = new MyModelView({model: myModel});
});
var MyModel = Backbone.Model.extend({
initialize: function() {
}
});
var MyModelView = Backbone.View.extend({
el: $('#myEl'),
initialize: function(){
_.bindAll(this, 'render');
this.render();
},
render: function(){
$(this.el).append(this.model.get('name'));
console.log(this.model.get('name'))
}
});
在这里不起作用的方法是在视图中渲染。渲染方法的 console.log 位很好,但 jQuery 附加不起作用。最初我想知道问题是否与我使用 Backbone 的方式有关,但现在我想知道这是否是 Meteor/jQuery 问题?