1.定義兩個組件
Tutorialbutton.vue 子組件
GjTable.vue 父組件
2.Tutorialbutton.vue子組件內容:
<template> <div> <el-tabs type="border-card"> <el-button size="mini" @click="getgjtype('c%23')"> c#</el-button> </el-tabs> </div> </template> <script> import request from '@/network/request' //封裝好的axios export default { name: 'Tutorialbutton', data () { return { tableData: [] //接口獲取的值 } }, methods: { getgjtype (gjtype) { request({ // 條件查詢 url: '/api/Gjtype/' + gjtype }).then(res => { this.tableData = res.data // tableData是在父組件on監聽的方法 // 第二個參數this.childValue是需要傳的值 this.$emit('tableData', this.tableData) }) // this.$http.get('/api/Gjtype/' + gjtype).then(res => { // this.tableData = res.data // }) } } } </script>
3.GjTable.vue父組件獲取子組件值
//script引入子組件 import Tutorialbutton from './gjtable/Tutorialbutton' //<template><!-- 引入子組件 定義一個on的方法監聽子組件的狀態--> <Tutorialbutton v-on:tableData="tableDatas"></Tutorialbutton> name: 'GjTable', components: { Tutorialbutton }, data () { return { tableData: [] } }, methods: { tableDatas (name) { // childValue就是子組件傳過來的值 this.tableData = name } }