当我使用Meteor时,我在使用标准jQuery功能方面遇到了一些困难.我的主要"客户端/服务器"JS文件如下所示:
if (Meteor.is_client) {
$(document).ready(function(){
$('#myDiv').append("foo");
console.log('bar');
});
}
Run Code Online (Sandbox Code Playgroud)
当我加载应用程序时,'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'))
}
});
Run Code Online (Sandbox Code Playgroud)
此处不起作用的方法是在视图中渲染.render方法的console.log位没问题,但是jQuery追加不起作用.最初我想知道是否有关于我使用Backbone的方式是问题,但现在我想知道它是否是Meteor/jQuery问题?