新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
這篇文章給大家分享的是有關(guān)Vue.js實現(xiàn)微信公眾號菜單編輯器功能的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)政和,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
創(chuàng)建一個vue實例

將菜單數(shù)據(jù)渲染到模版上
這里使用v-if和v-for將數(shù)據(jù)渲染到模版上,最多會有3個主菜單以及每個主菜單最多會有5個子菜單。

給vue實例添加方法
在vue實例中給methods對象中添加我們自定義的方法
methods: {
//選中主菜單
selectedMenu:function (i) {
this.selectedSubMenuIndex = ''
this.selectedMenuIndex = i
},
//選中子菜單
selectedSubMenu:function (i) {
this.selectedSubMenuIndex = i
},
//選中菜單級別
selectedMenuLevel: function () {
if (this.selectedMenuIndex !== '' && this.selectedSubMenuIndex === '') {
//主菜單
return 1;
} else if (this.selectedMenuIndex !== '' && this.selectedSubMenuIndex !== '') {
//子菜單
return 2;
} else {
//未選中任何菜單
return 0;
}
},
//添加菜單
//參數(shù)level為菜單級別,1為主菜單、2為子菜單
addMenu:function (level) {
if (level == 1 && this.menu.button.length < 3) {
this.menu.button.push({"name": "菜單名稱",
"sub_button": []
})
this.selectedMenuIndex = this.menu.button.length - 1
this.selectedSubMenuIndex = ''
}
if (level == 2 && this.menu.button[this.selectedMenuIndex].sub_button.length < 5) {
this.menu.button[this.selectedMenuIndex].sub_button.push({
"name": "子菜單名稱"
})
this.selectedSubMenuIndex = this.menu.button[this.selectedMenuIndex].sub_button.length - 1
}
}
}
給菜單綁定方法
當(dāng)點擊菜單觸發(fā)selectedMenu方法,點擊添加按鈕觸發(fā)添加addMenu方法。使用v-on來監(jiān)聽事件,它的縮寫是@
監(jiān)聽點擊事件@click ,為了防止子菜單點擊事件冒泡的主菜單,則使用.stop事件修飾符來阻止冒泡@click.stop
使用v-bind:class來添加切換菜單選中時的class。:class為縮寫