欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Vue.js實現(xiàn)微信公眾號菜單編輯器功能的示例分析

這篇文章給大家分享的是有關(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實例

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title></title>
 <script src="https://cdn.bootcss.com/vue/2.5.9/vue.js"></script>
</head>
<body>
 <div class="content" >
 <!-- vue實例掛載的DOM元素 -->
 <div id="app-menu">
 <!-- 菜單預(yù)覽界面 -->
 <div class="weixin-preview"></div>
 <!-- 菜單編輯界面 -->
 <div class="weixin-menu-detail"></div>
 </div>
 </div>
 <script>
 var app = new Vue({
 el: '#app-menu',//掛載到對應(yīng)的DOM元素
 data: {
 weixinTitle: 'Vue.js公眾號菜單',
 //菜單對象
 menu: {
  "button": [
  {
  "name": "主菜單1",
  "sub_button": []
  },
  {
  "name": "主菜單2",
  "sub_button": []
  },
  {
  "name": "主菜單3",
  "sub_button": [
  {
  "name": "子菜單1"
  }]
  }]
 },
 selectedMenuIndex:'',//當(dāng)前選中菜單索引
 selectedSubMenuIndex:'',//當(dāng)前選中子菜單索引
 },
 methods: {
 }
 })
 </script>
</body>
</html>

Vue.js實現(xiàn)微信公眾號菜單編輯器功能的示例分析

將菜單數(shù)據(jù)渲染到模版上

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

<div class="weixin-preview">
 <div class="weixin-hd">
 <div class="weixin-title">{{weixinTitle}}</div>
 </div>
 <div class="weixin-bd">
 <ul class="weixin-menu">
 <!-- 這里使用v-for開始循環(huán)主菜單 -->
 <li v-for="(btn,i) in menu.button" class="menu-item">
 <div class="menu-item-title">
  <span>{{ btn.name }}</span>
 </div>
 <ul class="weixin-sub-menu">
  <!-- 這里使用v-for開始循環(huán)主菜單下的子菜單 -->
  <li v-for="(sub,i2) in btn.sub_button" class="menu-sub-item">
  <div class="menu-item-title">
  <span>{{sub.name}}</span>
  </div>
  </li>
  <!-- 這里使用v-if 判斷子菜單小于5個,則添加按鈕來添加子菜單 -->
  <li v-if="btn.sub_button.length<5" class="menu-sub-item">
  <div class="menu-item-title">
  <i class="icon14_menu_add"></i>
  </div>
  </li>
 </ul>
 </li>
 <!-- 這里使用v-if 判斷主菜單小于3個,則添加按鈕來添加主菜單 -->
 <li class="menu-item" v-if="menu.button.length<3"> <i class="icon14_menu_add"></i></li>
 </ul>
 </div>
</div>

Vue.js實現(xiàn)微信公眾號菜單編輯器功能的示例分析

給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為縮寫

<ul class="weixin-menu" id="weixin-menu" >
 <!-- 判斷如果selectedMenuIndex是當(dāng)前點擊的主菜單索引則添加current樣式 -->
 <li v-for="(btn,i) in menu.button" class="menu-item" :class="{current:selectedMenuIndex===i&&selectedMenuLevel()==1}" @click="selectedMenu(i)">
 <div class="menu-item-title">
 <span>{{ btn.name }}</span>
 </div>
 <!-- v-show來切換是否顯示 這里如果選中了主菜單則子菜單彈出 -->
 <ul class="weixin-sub-menu" v-show="selectedMenuIndex===i">
 <li v-for="(sub,i2) in btn.sub_button" class="menu-sub-item" :class="{current:selectedSubMenuIndex===i2&&selectedMenuLevel()==2}" @click.stop="selectedSubMenu(i2)">
 <div class="menu-item-title">
  <span>{{sub.name}}</span>
 </div>
 </li>
 <li v-if="btn.sub_button.length<5" class="menu-sub-item" @click.stop="addMenu(2)">
  <div class="menu-item-title">
  <i class="icon14_menu_add"></i>
  </div>
 </li>
 </ul>
 </li>
 <li class="menu-item" v-if="menu.button.length<3" @click="addMenu(1)">
 <i class="icon14_menu_add"></i>
 </li>
</ul>

Vue.js實現(xiàn)微信公眾號菜單編輯器功能的示例分析

感謝各位的閱讀!關(guān)于“Vue.js實現(xiàn)微信公眾號菜單編輯器功能的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

本文名稱:Vue.js實現(xiàn)微信公眾號菜單編輯器功能的示例分析
URL分享:http://aaarwkj.com/article6/iijeig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、App開發(fā)、外貿(mào)網(wǎng)站建設(shè)、Google、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
亚洲国产精品福利在线| 夫妻性生活视频全过程| 熟妇激情欧美在线播放视频| 免费观看黄片视频在线播放| 国产精品三级久久久| 亚洲av毛片在线免费播放| 国产精品亚洲欧美中字| 避暑地堕落人妻中文字幕| 少妇精品偷拍高潮少妇在线观看| 91精品国产色综合久久不| 亚洲欧美日韩午夜在线| 亚洲美女高潮久久久久久久久| 久久精品国产亚洲七七| 欧美亚洲另类激情另类的| 韩国电视剧大全免费国语观看| 久久成人av一区二区三区| 国产av剧情精品麻豆| 日本人妻内射一区二区| 午夜视频在线观看免费版| 成年午夜福利片在线观看| 极品少妇一级人妻av| 未满十八禁止在线观看av| 蜜桃臀内射一区二区三区| 精品福利视频蜜臀91| 日本一区二区不卡视频在线播放 | 大秀视频一区二区三区| 成熟人妻中文字幕在线看| 亚洲国产传媒在线观看| 怡红院怡春院视频免费看| 久久精品国产亚洲七七| 欧美v日韩v亚洲综合国产高清| 国产精品一区二区黑人巨大| 长腿丝袜美女亚洲一区二区| 亚洲乱人伦一区二区三区| 欧美一区二区成人精品视频| 欧美精品成人免费在线| 九九精品在线观看视频| 欧美欧美欧美欧美一二三区| 国产精品青青草原在线| 国产极品嫩模在线观看91| 国产又粗又长在线视频|