ビューオブジェクト内のselfメソッドをthis.removeThanksContainerとして参照していますが、これは通常は問題ありませんが、$。post()コールバック内にいる場合、への参照this
はビューではなくグローバルウィンドウオブジェクトになります… 。
removeThanksContainer : function() {
var $thanksContainer = $('#js-review-thanks');
$thanksContainer.is(':visible') && $thanksContainer.remove();
},
getProductInfo : function(evt) {
// local method
var removeThanksContainer = this.removeThanksContainer;
$.post(postURL, { product_id : productId }, function(data) {
if (data) {
removeThanksContainer();
}
}, 'json');
}
var removeThanksContainer = this.removeThanksContainer;
そのため、回避策として、 $。post()内でアクセスできるように、getProductInfo内のローカル変数へのそのメソッドへの参照を保存しています。これはこれを行うための最良の方法ですか、それとも好ましい/より良い方法がありますか?
ありがとう。