vue.js搭建使用者管理系統練手(六)----使用者詳情
在components下新建CustomerDetails.vue:
<template>
<div class="details container" >
<h1 class="page-header">{{customer.name}}</h1>
<ul>
<li class="list-group-item"><span class="glyphicon glyphicon-star">{{customer.phone}}</span></li>
<li class="list-group-item"><span class="glyphicon glyphicon-star">{{customer.email}}</span></li>
<li class="list-group-item"><span class="glyphicon glyphicon-star">{{customer.education}}</span></li>
<li class="list-group-item"><span class="glyphicon glyphicon-star">{{customer.graduationschool}}</span></li>
<li class="list-group-item"><span class="glyphicon glyphicon-star">{{customer.profession}}</span></li>
<li class="list-group-item"><span class="glyphicon glyphicon-star">{{customer.profile}}</span></li>
</ul>
</div>
</template>
<script>
export default {
name: 'customerdetails',
data () {
return {
customer:""
}
},
methods:{
fetchCustomers(id){
this.$http.get("http://localhost:3000/users/"+id)
.then(function(response){
console.log(response);
this.customer = response.body;
})
}
},
created(){
this.fetchCustomers(this.$route.params.id);//獲取使用者id用來查詢具體使用者資料返回
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
思路和Customers.vue一樣,也是在例項被建立的時候通過http請求資料然後展示!
同樣需要在main.js中註冊路由:
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import VueRouter from 'vue-router'
import VueResource from 'vue-resource'
import Customers from './components/Customers'
import About from './components/About'
import Add from './components/Add'
import CustomerDetails from './components/CustomerDetails'
Vue.config.productionTip = false
Vue.use(VueRouter)
Vue.use(VueResource)
//設定路由
const router = new VueRouter({
mode:"history",
base:__dirname,
routes:[
{path:"/",component:Customers},
{path:"/about",component:About},
{path:"/add",component:Add},
{path:"/customerdetails/:id",component:CustomerDetails}//註冊詳情路由
]
})
/* eslint-disable no-new */
new Vue({
router,
template:`
<div id="app">
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">使用者管理系統</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li ><router-link to="/">主頁</router-link></li>
<li ><router-link to="/about">關於我們</router-link></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li ><router-link to="/add">新增使用者</router-link></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<router-view></router-view>
</div>
`
}).$mount("#app")
當然在使用者主頁將詳情按鈕及路由跳轉需要加入進來:
<tr v-for="customer in customers">
<td>{{customer.name}}</td>
<td>{{customer.phone}}</td>
<td>{{customer.email}}</td>
<td><router-link class="btn btn-default" v-bind:to="'/customerdetails/'+customer.id">詳情</router-link></td>
</tr>
Customers.vue完整程式碼如下:
<template>
<div class="customers container">
<Alert v-if="alert" v-bind:message="alert"></Alert>
<h1 class="page-header">使用者管理系統</h1>
<table class="table table-striped">
<thead>
<tr>
<th>姓名</th>
<th>電話</th>
<th>郵箱</th>
<th></th>
</tr>
</thead>
<tbody>
<tr v-for="customer in customers">
<td>{{customer.name}}</td>
<td>{{customer.phone}}</td>
<td>{{customer.email}}</td>
<td><router-link class="btn btn-default" v-bind:to="'/customerdetails/'+customer.id">詳情</router-link></td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
import Alert from "./Alert"
export default {
name: 'customers',
data () {
return {
customers:[],
alert:""
}
},
methods:{
fetchCustomers(){
this.$http.get("http://localhost:3000/users")
.then(function(response){
//console.log(response);
this.customers = response.body;
})
}
},
created(){
if(this.$route.query.alert){
this.alert = this.$route.query.alert;
}
this.fetchCustomers();
},
updated(){
this.fetchCustomers();
},
components:{
Alert
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
相關文章
- vue.js搭建使用者管理系統練手(七)----使用者詳情的修改和刪除Vue.js
- vue.js搭建使用者管理系統練手(二)----頁面框架搭建Vue.js框架
- vue.js搭建使用者管理系統練手(五)----嵌入彈窗元件Vue.js元件
- vue.js搭建使用者管理系統練手(八)----實現搜尋功能Vue.js
- vue.js搭建使用者管理系統練手(一)----配置json-serverVue.jsJSONServer
- vue.js搭建使用者管理系統練手(三)----http請求列表資料Vue.jsHTTP
- vue.js搭建使用者管理系統練手(四)----http請求新增列表資料Vue.jsHTTP
- 系統使用者與使用者組的管理
- Linux作業系統的使用者和使用者組管理詳解(轉)Linux作業系統
- 使用者手冊:智慧家居系統
- 開發筆記:手動搭建系統後臺-認證使用者筆記
- Java Web(九) 使用者管理系統JavaWeb
- 使用者許可權系統管理
- 如何使用Vue.js來搭建一個後臺管理系統Vue.js
- 初探Angular6.x---使用者列表與使用者詳情Angular
- 基於 Laravel 搭建使用者邀請系統Laravel
- Linux系統使用者組的管理Linux
- linux系統下的使用者管理Linux
- webmail系統如何進行使用者管理?WebAI
- jumpserver 使用者,系統使用者和管理使用者 普通使用者和特權使用者 區別Server
- Linux命令整理,使用者管理,使用者組管理,系統管理,目錄管理常用命令Linux
- 未來世界商城系統技術開發搭建(詳情)
- ADA智慧機器人系統搭建開發詳情機器人
- NFT元宇宙系統app開發搭建(功能詳情)元宇宙APP
- Avatar泰山眾籌系統開發搭建詳情邏輯
- Linux命令-使用者、許可權管理、系統管理Linux
- Linux系統使用者賬號的管理Linux
- Chartboost:iOS系統各個版本使用者分佈情況iOS
- DAPP質押挖礦系統開發詳情方案搭建APP
- 如何在 Linux 系統中通過使用者組來管理使用者Linux
- 如何搭建千萬級別使用者的應用系統
- 後臺管理系統vue.js路由Vue.js路由
- 超詳細,Windows系統搭建Flink官方練習環境Windows
- 化驗管理資訊系統使用者群分析
- Linux useradd 命令實現系統使用者及使用者組的管理Linux
- winscp使用教程多使用者,winscp使用教程多使用者,教程詳情
- 老專案重構手記之使用者系統
- IPP挖礦系統開發詳情丨技術原始碼搭建原始碼