vue入门demo

1.App.vue

<template>
  <el-button type="text" @click="dialogFormVisible = true">添加</el-button>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="id" label="id" width="180"> </el-table-column>
    <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
    <el-table-column prop="age" label="年龄"> </el-table-column>
    <el-table-column prop="classroom" label="班级"> </el-table-column>
    <el-table-column>
      <template v-slot="scope">
        <el-button @click="handleClick(scope.row.id)" type="text" size="small"
          >删除</el-button
        >
      </template>
    </el-table-column>
    <el-table-column>
      <template v-slot="scope">
        <el-button @click="handleUpdate(scope.row)" type="text" size="small"
          >修改</el-button
        >
      </template>
    </el-table-column>
  </el-table>

  <el-dialog title="收货地址" v-model="dialogFormVisible">
    <el-form :model="form">
      <el-form-item label="姓名" :label-width="formLabelWidth">
        <el-input v-model="form.name" autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item label="年龄" :label-width="formLabelWidth">
        <el-input v-model="form.age" autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item label="班级" :label-width="formLabelWidth">
        <el-input v-model="form.classroom" autocomplete="off"></el-input>
      </el-form-item>
    </el-form>
    <div :v-slot="footer" class="dialog-footer">
      <el-button @click="dialogFormVisible = false">取 消</el-button>
      <el-button type="primary" @click="handAdd">确 定</el-button>
    </div>
  </el-dialog>
</template>

<script>
import axios from "axios";
export default {
  name: "App",
  data() {
    return {
      tableData: [],
      dialogFormVisible: false,
      form: {
        name: "",
        age: "",
        classroom: "",
      },
      formLabelWidth: "120px",
    };
  },
  created() {
    this.getData();
  },
  methods: {
    getData() {
      // axios.get('https://console-mock.apipost.cn/app/mock/project/a5027cdc-f1af-4dd2-acf1-d7298d2eb3e1/hello/list')
      axios.get("http://192.168.10.18:8080/hello/list").then((res) => {
        console.log(res.data);
        this.tableData = res.data;
        console.log(res);
      });
    },

    handleClick(id) {
      console.log(id);
      axios
        .get(`http://192.168.10.18:8080/hello/remove?id=${id}`)
        .then((res) => {
          console.log(res.status);
          this.getData();
        });
    },
    handAdd() {
      console.log(this.form, 6666);
      this.dialogFormVisible = false;
      if (this.form.name) {
        axios
          .post("http://192.168.10.18:8080/hello/edit", this.form)
          .then((res) => {
            console.log(res.status);
            this.getData();
            this.form = { name: "", age: "", classroom: "" };
          });
      } else {
        axios
          .post("http://192.168.10.18:8080/hello/add", this.form)
          .then((res) => {
            console.log(res.status);
            this.getData();
          });
      }
    },
    handleUpdate(e) {
      this.dialogFormVisible = true;
      this.form = e;
    },
  },
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue详情页demo可以用来展示一些特定的产品或者内容的详细信息。这个demo包含了一个列表页面和一个详情页面,用户可以通过点击列表页面中的某一项来查看详情页面。 首先,在列表页面中,我们可以使用Vue提供的v-for指令来遍历一个包含多个项的数组。每个项可以包含产品的名称、图片、简介等信息。当用户点击某一项时,可以通过v-bind将该项的信息传递给详情页面。 然后,在详情页面中,我们可以接收传递过来的信息,并展示在页面上。可以通过使用插值语法来动态显示产品的名称、图片、简介等信息。同时,我们还可以使用Vue提供的过滤器来格式化数据,比如将日期格式化成指定的格式。 另外,为了提高用户体验,我们可以在详情页面中添加一些交互功能。比如,用户可以在详情页面中点击一个按钮来展示更多的详细信息,或者可以添加产品到购物车等。 最后,在实现这个demo的过程中,我们可以使用Vue的路由功能来实现列表页面和详情页面之间的切换。通过定义路由规则,当用户访问某一个特定的路径时,可以展示对应的页面。 总之,Vue详情页demo可以通过展示产品或者内容的详细信息来提供更好的用户体验。通过使用Vue的指令、插值语法、过滤器和路由功能,可以方便地实现这个功能。最终的效果是用户可以在列表页面中选择任意一项,然后进入详情页面查看更多的详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值