バックボーン ビューをレンダリングする前に、追加の変数 (ユーザー ID) を渡したいと思います。私は ajax リクエストで追加の変数を取得していますが、非同期であるため、変数を取得する前にページがレンダリングされていると思います。簡単にするために、バックボーンビューにこれがあるとしましょう:
PostsApp.Views.Post = Backbone.View.extend({
template: _.template($('#post-template').html()),
render: function(){
var newObject = this.model.toJSON();
$.ajax({
url:"/user",
success:function(result){
newObject.twittername = result.name; ;
}
});
this.$el.html(this.template(newObject));
}
});
this.$el.html(this.template(newObject)); を置くことができると思います。コールバックではありますが、「this」は他の何かを参照しています..誰かがこれの回避策を考えられますか?
それとも、レンダリング機能でそのようなリクエストを送信するのは非常に悪いことですか..