21xrx.com
2025-07-15 01:07:21 Tuesday
登录
文章检索 我的文章 写文章
使用 Node.js 和 Vue 编写点击按钮增加表格的功能
2023-07-04 05:04:15 深夜i     44     0
Node js Vue 点击按钮 增加表格 功能

随着Web应用程序的开发,Vue和Node.js成为了开发人员的首选技术。Vue是一种用于构建可维护和可扩展的Web用户界面的渐进式JavaScript框架,而Node.js是一种基于Chrome V8 JavaScript引擎构建的JavaScript运行时,能够在服务器和客户端运行JavaScript代码。在本文中我们将介绍如何使用Vue和Node.js编写一个点击按钮增加表格的功能。

第一步:初始化Vue项目

首先,我们需要使用Vue CLI创建一个新的Vue项目。在终端中运行以下命令:

vue create click-to-add-table

此命令将在当前目录中创建一个名为“click-to-add-table”的新Vue项目。接下来,请按照提示选择所需的配置选项。

第二步:创建一个简单的表格

为了能够添加行,我们需要先创建一个简单的表格。在“App.vue”文件中,使用以下代码创建一个表格:

<template>
 <div class="container">
  <h1>Click to Add Table</h1>
  <table>
   <thead>
    <tr>
     <th>ID</th>
     <th>Name</th>
     <th>Age</th>
    </tr>
   </thead>
   <tbody>
    <tr v-for="(user, index) in users" :key="index">
     <td>{{ user.id }}</td>
     <td>{{ user.name }}</td>
     <td>{{ user.age }}</td>
    </tr>
   </tbody>
  </table>
 </div>
</template>
<script>
export default {
 data() {
  return {
   users: [
     id: 1,
     name: 'Bob',
     id: 3,
     id: 4
   ]
  }
 }
}
</script>
<style>
.container
 margin: 0 auto;
 max-width: 800px;
table
 width: 100%;
 border-collapse: collapse;
 margin-top: 20px;
th,
td
 border: 1px solid #ccc;
 padding: 10px;
 text-align: left;
th
 background-color: #eee;
</style>

这将创建一个最初包含四行用户数据的表格。我们将用JavaScript代码向该表格添加行。

第三步:添加一个按钮

现在,我们可以为向表格添加行的操作添加触发器。在“App.vue”文件中,我们将添加一个按钮,用户单击按钮时将添加新行。

请将以下代码插入到“

”元素中:
<button @click="addUser">Add User</button>

我们现在需要添加“addUser”方法,当按钮被点击时该方法将在表格中添加新行。

第四步:使用Node.js保存表格行

在这一步,我们将使用Node.js保存表格中的数据。首先,我们需要安装Node.js和Express.js。在终端中运行以下命令:

npm install --save express

接下来创建一个名为“server.js”的文件,输入以下代码:

const express = require('express')
 const bodyParser = require('body-parser')
 const users = [
   id: 1,
   id: 2,
   name: 'Charlie',
   age: 40 ,
 ]
 const app = express()
 app.use(bodyParser.json())
 app.get('/api/users', (req, res) => {
  res.json(users)
 })
 app.post('/api/users', (req, res) => {
  const user = req.body
  user.id = users.length + 1
  users.push(user)
  res.json(user)
 })
 app.listen(3000, () => {
  console.log('Server running on port 3000.')
 })

该文件将使用Express.js创建HTTP服务器。服务器将处理来自Vue应用程序的POST请求,并将新用户数据添加到内存中的数据结构中。

第五步:将表格数据更新到服务器

那么,如何将新的行添加到服务器中呢?首先,我们需要安装Axios。在终端中运行以下命令:

npm install --save axios

接下来,在“App.vue”文件中,我们将添加“addUser”方法,用于添加新行。每当单击“Add User”按钮时,将触发此方法。输入以下代码:

<template>
  <div class="container">
   <h1>Click to Add Table</h1>
   <table>
    <thead>
     <tr>
      <th>ID</th>
      <th>Name</th>
      <th>Age</th>
     </tr>
    </thead>
    <tbody>
     <tr v-for="(user, index) in users" :key="index">
      <td>{{ user.id }}</td>
      <td>{{ user.name }}</td>
      <td>{{ user.age }}</td>
     </tr>
    </tbody>
   </table>
   <button @click="addUser">Add User</button>
  </div>
 </template>
 <script>
 import axios from 'axios'
 export default {
  data() {
   return {
    users: []
   }
  },
  mounted() {
   this.getUsers()
  },
  methods: {
   getUsers() {
    axios.get('/api/users').then(response => {
     this.users = response.data
    })
   },
   addUser() {
    const user = {
     name: 'New User',
     age: 0
    }
    axios.post('/api/users', user).then(response => {
     this.users.push(response.data)
    })
   }
  }
 }
 </script>
 <style>
 .container {
  margin: 0 auto;
  max-width: 800px;
 }
 table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
 }
 th,
 td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
 }
 th {
  background-color: #eee;
 }
 </style>

我们实现了“getUsers”方法和“addUser”方法。当页面加载时,将使用“getUsers”方法从服务器获取用户数据,并在数据加载完毕后显示表格。当用户单击“Add User”按钮时,将使用“addUser”方法将新行添加到表格中,并将用户数据保存到服务器中。

总结

Vue和Node.js提供了一种强大的方式来构建复杂的Web应用程序。在本文中,我们演示了如何使用这两个技术来创建基于按钮点击增加表格的功能。我们创建了一个简单的表格,使用Axios将新数据添加到服务器中。这一过程展示了Vue和Node.js之间协作的能力,同时也加深了我们对这两个技术的理解。

  
  

评论区