我有一個組件,它通過內聯模板中的PHP列出了6個圖像。當我點擊一個'加載更多'按鈕時,它會進行一次ajax調用,並接收更多要添加到圖像列表中的帖子。在內聯模板中用Vue在組件中添加新元素的正確方法
我該如何實現?我只是用JS附加了一個模板字符串,但現在我需要在這個圖像上添加一個事件監聽器,我不能只使用模板字符串。
謝謝!
我有一個組件,它通過內聯模板中的PHP列出了6個圖像。當我點擊一個'加載更多'按鈕時,它會進行一次ajax調用,並接收更多要添加到圖像列表中的帖子。在內聯模板中用Vue在組件中添加新元素的正確方法
我該如何實現?我只是用JS附加了一個模板字符串,但現在我需要在這個圖像上添加一個事件監聽器,我不能只使用模板字符串。
謝謝!
我不知道我是否理解好結果應該是什麼,但從我的理解你有一個動作,它將從服務器端加載一些圖像,並且你想把它們附加到你的模板;我會嘗試起草一個解決方案,我想到的是什麼。
模板
<template>
<div v-for"image in allImages">
... display your images here...
</div>
</template>
腳本
data: {
allImages: []
},
created() {
// this will do the php call and update your array before the component is shown. So, it will your default.
getMoreImages();
},
methods: {
// Assuming this is a server call which receive a response with images...
getMoreImages(response) {
var newImages = response.newImages;
this.allImages.push(newImages);
}
}
我希望我理解你很好,這個答案會有所幫助。
更新:在這裏你有一個JS Fiddle example of what I mean請檢查新的小提琴。
這幾乎是我需要的。這看起來像是正確的方法,我已經達到了類似的解決方案,但正如我所說的,我有默認圖像,當頁面加載時通過PHP獲取,這不像在你的例子中,你只有一個'v -for',它會根據數組加載圖像,我的圖像應該先從PHP加載,然後從這個數組中加載,這是正確的嗎?因爲看起來很奇怪,有兩個模板,一個在PHP中,另一個在使用'v-for',你明白我嗎? –
您可以在創建的方法上獲取數據並將它們推送到數組,因此這將是您的默認圖像。然後使用與我的示例中相同的方法。我會更新答案 –
是的,我知道我可以做到這一點,但是然後我的圖像將從JS加載,我希望它通過PHP加載文檔,這是整個問題的焦點。它看起來很奇怪,既有PHP和Vue圖像模板,但除了用Vue加載所有內容(這也是我使用內聯模板的原因)之外,我沒有看到採用其他方式進行此操作。 –
向我們展示您的嘗試。 – Ikbel