在Vue中,如果我們想要通過代碼向DOM中動態添加元素,就可以使用Vue提供的append方法。這個方法可以將一個Vue實例的dom元素插入到指定的元素之后。
var vm = new Vue({ el: '#app', data: { message: 'Hello Vue!' }, mounted() { var div = document.createElement('div'); div.innerHTML = 'New Element!'; this.$el.appendChild(div); // 將新元素插入到Vue實例的根元素之后 } })
如上面的代碼展示了如何通過append方法在Vue實例的生命周期鉤子mounted中向DOM添加一個新的div元素。這個新的元素將會出現在Vue實例的根元素之后。
需要注意的是,在使用append方法之前,需要確保Vue實例已經被掛載(mounted),否則我們無法通過this.$el獲取到根元素。另外,在使用append方法時,我們還可以通過插入Vue組件的方式來動態添加元素。如下面的代碼:
var vm = new Vue({ el: '#app', components: { 'my-component': { template: '{{message}}', data: function() { return { message: 'New Component!' } } } }, mounted() { var el = document.createElement('div'); this.$el.appendChild(el); //先插入el new Vue({ el: el, template: '' }) } })
在上面的代碼中,我們定義了一個名為my-component的Vue組件。在實例化Vue實例時,我們將這個組件注冊到了Vue實例的components屬性里。在mounted生命周期鉤子內部,我們先向DOM中插入一個新的div元素,接著通過實例化另外一個Vue實例的方式,將組件添加到這個新的div元素中。這樣,我們就可以使用Vue組件的方式來動態向DOM中添加元素了。
上一篇vue glup
下一篇python 金字塔案例