国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

VueJs使用Amaze ui調(diào)整列表和內(nèi)容頁面

2019-11-19 14:49:07
字體:
供稿:網(wǎng)友

制作左側(cè)菜單

一個(gè)后臺(tái)管理系統(tǒng),大致的樣式都是分為南北東西的,而西(也就是左側(cè))一般是我們的菜單。如圖:

我們今天就來把我們的項(xiàng)目完成到如上圖的樣式,首先我們來制作左側(cè)的菜單,在/src/components/下新建menu.vue。代碼如下:

<template><div class="admin-sidebar am-offcanvas" id="admin-offcanvas"> <div class="am-offcanvas-bar admin-offcanvas-bar">  <ul class="am-list admin-sidebar-list">   <li class="admin-parent" v-for="menu in menus"><router-link :to="menu.href">{{menu.name}}</router-link>    <ul class="am-list am-collapse admin-sidebar-sub am-in" id="collapse-nav">      <li v-for="child in menu.childs" v-if="menu.childs"><router-link :to="child.href"><span class="am-icon-check"></span> {{child.name}}<span class="am-icon-star am-fr am-margin-right admin-icon-yellow"></span></router-link></li>     </ul>   </li>  </ul> </div></div></template><script>export default{  name : "Menu",  data(){    return {      menus:[{        name:"首頁",        href:"/",        childs:[]      },{        name:"寫信",        href:"/",        childs:[]      },{        name:"收件箱",        href:"/Inbox",        childs:[]      },{        name:"發(fā)件箱",        href:"/Outbox",        childs:[]      },{        name:"垃圾箱",        href:"/",        childs:[]      },{        name:"草稿箱",        href:"/",        childs:[]      },{        name:"其他文件夾",        href:"/",        childs:[{          name:"已發(fā)送郵件",          href:"/"        },{          name:"已刪除郵件",          href:"/"        }]      }]    }  }}</script>

現(xiàn)在我們的菜單就已經(jīng)做好了,只需要將菜單應(yīng)用到我們的項(xiàng)目中就可以了。打開/src/App.vue,修改如下位置:

調(diào)整列表頁面

打開/src/pages/Index.vue代碼如下:

<template><div class="admin-content"> <div class="admin-content-body">  <div class="am-cf am-padding am-padding-bottom-0">   <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">收件箱</strong> / <small>Inbox</small></div>  </div>  <hr>  <div class="am-g">   <div class="am-u-sm-12 am-u-md-6">    <div class="am-btn-toolbar">     <div class="am-btn-group am-btn-group-xs">      <button type="button" class="am-btn am-btn-default" @click="toAdd"><span class="am-icon-plus"></span> 新增</button>      <button type="button" class="am-btn am-btn-default" @click="save"><span class="am-icon-save"></span> 保存</button>      <button type="button" class="am-btn am-btn-default" @click="verify"><span class="am-icon-archive"></span> 審核</button>      <button type="button" class="am-btn am-btn-default" @click="remove"><span class="am-icon-trash-o"></span> 刪除</button>     </div>    </div>   </div>   <div class="am-u-sm-12 am-u-md-3">    <div class="am-input-group am-input-group-sm">     <input type="text" class="am-form-field">    <span class="am-input-group-btn">     <button class="am-btn am-btn-default" type="button">搜索</button>    </span>    </div>   </div>  </div>  <!-- admin-content-body end -->  <div class="am-g" style="margin-top:5px;">   <div class="am-u-sm-12">    <form class="am-form">     <table class="am-table am-table-striped am-table-hover table-main am-table-bordered am-table-radius" >      <thead>      <tr>       <th class="table-check"><input type="checkbox" /></th><th class="table-id">ID</th><th class="table-title">標(biāo)題</th><th class="table-type">類別</th><th class="table-author am-hide-sm-only">作者</th><th class="table-date am-hide-sm-only">修改日期</th><th class="table-set">操作</th>      </tr>      </thead>      <tbody>      <tr v-for="(item,index) in tableList">       <td><input type="checkbox" /></td>       <td>{{index + 1}}</td>       <td><router-link :to="'/Content/' + item.id">{{item.title}}</router-link></td>       <td>{{item.tab}}</td>       <td class="am-hide-sm-only">{{item.author.loginname}}</td>       <td class="am-hide-sm-only">{{item.create_at}}</td>       <td>        <div class="am-btn-toolbar">         <div class="am-btn-group am-btn-group-xs">          <button class="am-btn am-btn-default am-btn-xs am-text-secondary"><span class="am-icon-pencil-square-o"></span> 編輯</button>          <button class="am-btn am-btn-default am-btn-xs am-hide-sm-only"><span class="am-icon-copy"></span> 復(fù)制</button>          <button class="am-btn am-btn-default am-btn-xs am-text-danger am-hide-sm-only"><span class="am-icon-trash-o"></span> 刪除</button>         </div>        </div>       </td>      </tr>      </tbody>     </table>     <div class="am-cf">      共 15 條記錄      <div class="am-fr">       <ul class="am-pagination">        <li class="am-disabled"><a href="#">«</a></li>        <li class="am-active"><a href="#">1</a></li>        <li><a href="#">2</a></li>        <li><a href="#">3</a></li>        <li><a href="#">4</a></li>        <li><a href="#">5</a></li>        <li><a href="#">»</a></li>       </ul>      </div>     </div>    </form>   </div>  </div>  <!-- am-g end --> </div></div></template><script> export default{  name : "Inbox",  data () {    return {     tableList: []    }   },   created () {    this.initialization()   },   mounted () {    $(".admin-content").css("height",(document.documentElement.clientHeight-36-50)+"px");   },   methods: {    initialization () {     this.$api.get('topics', {page:1,limit:10}, r => {      console.log(r);      if(r.success){       this.tableList = r.data;      }     })    },    toAdd(){      alert("添加");    },    save(){      alert("保存");    },    verify(){      alert("審核");    },    remove(){      alert("刪除");    }   } }</script>

注意:上面我們初始化查詢第一頁的數(shù)據(jù),并規(guī)定每頁顯示10條,我們沒有做分頁功能的開發(fā)。是由于cnodejs.org的api并沒有給我們返回分頁的信息,將來如果是實(shí)際開發(fā),那么接口正常情況是會(huì)返回分頁信息的,我們到時(shí)候再具體的渲染就好了。

調(diào)整內(nèi)容頁面

打開/src/pages/Content.vue,代碼如下:

<template><div class="admin-content">  <h2 v-text="article.title"></h2>  <p>作者:{{article.author.loginname}}  發(fā)表于:{{article.create_at}}</p>  <hr>  <article v-html="article.content"></article>  <h3>網(wǎng)友回復(fù):</h3>  <ul>   <li v-for="i in article.replies">    <p>評(píng)論者:{{i.author.loginname}}  評(píng)論于:{{i.create_at}}</p>    <article v-html="i.content"></article>   </li>  </ul> </div></template><script> export default {  name : "Content",  data () {   return {    id: this.$route.params.id,    article: {     author: {      loginname:""     }    }   }  },  created () {   this.getData();  },  mounted () {   $(".admin-content").css("height",(document.documentElement.clientHeight-36-50)+"px");  },  methods: {   getData () {    this.$api.get('topic/' + this.id, null, r => {     console.log(r.data);     this.article = r.data;    })   }  } }</script>

到此為止我們就完成了列表頁面和內(nèi)容頁面的整合了,說明一下在調(diào)整后的script中,多了個(gè)mounted 方法,這個(gè)是vuejs的勾子函數(shù),我理解的意思表示元素已經(jīng)創(chuàng)建,數(shù)據(jù)也渲染完成。我們來設(shè)置admin-content的高度就沒有問題了,不過這個(gè)我不確定是我的寫法有問題,還是Amaze ui和vuejs整合后的影響,目前只能這樣解決了。

最終效果

列表頁面:

內(nèi)容頁面:

總結(jié)

以上所述是小編給大家介紹的VueJs使用Amaze ui調(diào)整列表和內(nèi)容頁面,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌审旗| 临泽县| 宁南县| 武冈市| 松原市| 德钦县| 共和县| 彰化县| 石林| 宜川县| 罗平县| 重庆市| 柯坪县| 邻水| 鹤壁市| 慈利县| 含山县| 嘉义县| 郎溪县| 东乡族自治县| 西丰县| 澄城县| 莱州市| 革吉县| 昌平区| 荆州市| 墨脱县| 错那县| 桃园县| 牙克石市| 常宁市| 峨边| 河间市| 多伦县| 长阳| 临洮县| 隆安县| 平阳县| 祁连县| 长岭县| 新密市|