Meteor を使用すると、標準の jQuery 機能に問題が発生します。私のメインの「クライアント/サーバー」JS ファイルは次のようになります。
if (Meteor.is_client) {
$(document).ready(function(){
$('#myDiv').append("foo");
console.log('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'))
}
});
ここで機能しないメソッドは、View の render です。render メソッドの console.log ビットは問題ありませんが、jQuery の追加は機能しません。最初は、Backbone の使用方法に問題があるのではないかと思っていましたが、代わりに Meteor/jQuery の問題ではないかと考えています。