From df76700d2120c130595da329aa234323b6f297e0 Mon Sep 17 00:00:00 2001 From: 62160286 <62160286@go.buu.ac.th> Date: Wed, 22 Dec 2021 22:13:13 +0700 Subject: [PATCH] Create OXCell --- src/components/OXCell.vue | 16 +++++++++++++++ src/components/OXTable.vue | 41 ++++++++++++++++++++++++-------------- 2 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 src/components/OXCell.vue diff --git a/src/components/OXCell.vue b/src/components/OXCell.vue new file mode 100644 index 0000000..e229344 --- /dev/null +++ b/src/components/OXCell.vue @@ -0,0 +1,16 @@ +<template> + <div @click="clickCell">{{ player }}</div> +</template> +<script> +export default { + props: ['player', 'row', 'col'], + methods: { + clickCell (event) { + console.log(event) + console.log('click ' + this.row + ' ' + this.col) + this.$emit('cell-click', this.row, this.col) + } + } +} +</script> +<style></style> diff --git a/src/components/OXTable.vue b/src/components/OXTable.vue index 87c1ba5..4703a91 100644 --- a/src/components/OXTable.vue +++ b/src/components/OXTable.vue @@ -1,25 +1,36 @@ <template> <div> <table> - <tr> - <td>-</td> - <td>-</td> - <td>-</td> - </tr> - <tr> - <td>-</td> - <td>-</td> - <td>-</td> - </tr> - <tr> - <td>-</td> - <td>-</td> - <td>-</td> + <tr v-for="(line, lineId) in table" :key="lineId"> + <td v-for="(item, itemId) in line" :key="itemId"> + <OXCell :player="item" :row="lineId" :col="itemId" @cell-click="cellClick" /> + </td> </tr> </table> </div> </template> <script> -export default {} +import OXCell from './OXCell.vue' +export default { + data () { + return { + turn: 'O', + table: [ + ['-', '-', '-'], + ['-', '-', '-'], + ['-', '-', '-'] + ] + } + }, + methods: { + cellClick (row, col) { + console.log('Cell click ' + row + ' ' + col) + this.table[row][col] = this.turn + } + }, + components: { + OXCell + } +} </script> <style></style> -- GitLab