後臺管理系統的大致UI如下圖所示,今後我會以下圖所示介面,搭建一個後臺管理系統。本文需要有一定的前端基礎和封裝思想
提示:以下是本篇文章正文內容,下面案例可供參考
public資料夾下建立css、img、js資料夾
如下圖所示:
Home.vue
只保留如下程式碼:
<template>
<div>
</div>
</template>
<script>
// @ is an alias to /src
export default {
name: "Home",
components: {
},
data() {
return {
}
},
mounted() {
},
methods: {
submit(val){
}
}
};
</script>
拿個這個UI原型圖,首先考慮介面組成,我將頁面劃分成了四個部分(根據自身需求動態調整),頭部、側邊欄、分頁、麵包屑導航()、正文,最終我們將這幾部分在Home.vue
裡面組合,本篇文章會先講頭部。
頭部
原型圖中,頭部包括logo、縮放按鈕、中英文切換按鈕、歡迎詞、退出系統按鈕。
1. logo
2. 縮放按鈕
3. 中英文切換按鈕
4. 歡迎詞
5. 退出系統按鈕
程式碼如下(範例):
程式碼如下(範例):
程式碼如下(範例):
程式碼如下(範例):
根據vue.js官網風格指南只應該擁有單個活躍範例的元件應該以 The 字首命名,以示其唯一性。
也就是說The開頭的元件,在一個頁面中只能用一次,但是可以應用在多個頁面,比如TheHeader.vue頭部元件,一個頁面只能存在一個頭部。
附上:風格指南
在專案目錄src/views
下建立一個TheHeader.vue
檔案,程式碼如下:
<template>
<div class="header">
<div class="logo">
<!-- 這個logo圖片相對路徑 -->
<img src="../../public/img/logo.png" />
</div>
<div class="header-right">
<div class="btn-fullscreen" @click.stop="handleFullScreen">
<el-tooltip
effect="light"
:content="fullscreen ? '取消全螢幕' : '全螢幕'"
placement="bottom"
>
<i class="iconfont icon-suofang"></i>
</el-tooltip>
</div>
<div class="btn-changelan" @click.stop="handleLanguage">
<el-tooltip
effect="light"
:content="language == 'en' ? '中文' : 'English'"
placement="bottom"
>
<i class="iconfont icon-yingwen"></i>
<!-- <span>{{language}}</span> -->
</el-tooltip>
</div>
<div class="welcome">
<el-dropdown @command="handleCommand">
<span class="el-dropdown-link">
<span class="w-text">歡迎您: {{user}}</span><i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="a">個人中心</el-dropdown-item>
<el-dropdown-item command="b">賬號設定</el-dropdown-item>
<el-dropdown-item command="c">螺螄粉</el-dropdown-item>
<el-dropdown-item command="d" disabled>雙皮奶</el-dropdown-item>
<el-dropdown-item command="e" divided>蚵仔煎</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<div>
<el-tooltip
effect="light"
content="退出系統"
placement="bottom"
>
<i class="iconfont icon-tuichu"></i>
</el-tooltip>
</div>
</div>
</div>
</template>
<script>
export default {
name: "",
data() {
return {
fullscreen: false,
language: "en", //zh簡體中文 en英文
user: "張三"
};
},
components: {},
mounted() {},
methods: {
handleFullScreen() {
console.log("點選了放大縮小按鈕");
},
handleLanguage() {
console.log("切換語言");
},
handleCommand(command) {
this.$message('click on item ' + command);
}
}
};
</script>
<style scoped>
</style>
注意事項
public/index.html的head標籤中參照
,如下圖所示:本篇文章先構建介面,後面再做業務邏輯處理
Home.vue程式碼如下:
<template>
<div>
<TheHeader></TheHeader>
</div>
</template>
<script>
// @ is an alias to /src
import TheHeader from '@/views/TheHeader.vue';
export default {
name: "Home",
components: {
TheHeader
},
data() {
return {
}
},
mounted() {
console.log("mounted");
},
methods: {
},
};
</script>
成品效果如下圖:
懸浮效果如下:
以上就是今天要講的內容,本文僅僅簡單構建後臺管理系統的頭部。