0
我有一個生成航班列表的v-for。當用戶點擊「航班詳情」按鈕時,我向服務器發送一個AJAX請求,並將新信息附加到結果數組中。爲了更新視圖,我用$設置方法:
this.results.displayed.$set(key, _.extend({}, row, detail.items));
,其中關鍵是數組對象$指數,行對象,detail.items是新的數據(價格詳情)。 我需要在視圖更新後更改一些類。我在網上搜索,發現這個解決方案:
this.$nextTick(function() {
$(el.target).toggleClass('load');
});
其中el.target是點擊按鈕。 問題是toggleClass在視圖更新之前執行,我需要它在視圖更新後運行。 下面是完整的AJAX調用:
$.ajax({
method: 'POST',
dataType: 'json',
url: this.base_info.url + 'getpricedetail?token=' + this.token,
data: {price_id : price_id},
beforeSend: function() {
$(el.target).addClass('load');
}.bind(this),
success: function (detail) {
this.results.displayed.$set(key, _.extend({}, row, detail.items));
this.$nextTick(function() {
$(el.target).siblings('.prices').addClass('open');
});
}.bind(this),
error: function() {
data.vars.loading = false;
}.bind(this)
});
是的,我在成功回調AJAX請求時調用它。我更新了我的問題,以便您可以看到AJAX呼叫。 –
這應該是一個評論,而不是一個答案 –
是的,對不起,你是對的,仍然不習慣SO的方式.. –