看!Vue CLI(脚手架)来了

Vue CLI(脚手架)

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统

安装

npm install -g @vue/cli

使用vue -V查看版本,确认是否安装成功

创建项目

vue create 项目名

选择版本及配置

在这里插入图片描述

我们选择第三个自定义版本

选择需要的特性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PgI3hbAh-1615457447890)(D:\桌面\临时文件\MK图片\image-20210311143633584.png)]

以上选择的分别是

  • 选择Vue的版本
  • js高级语法转换
  • Router路由

选择版本

这里选择的是 vue 2
在这里插入图片描述

路由

这里选择的是no
在这里插入图片描述

配置文件

选择YES
在这里插入图片描述

是否保存记录

选择NO
在这里插入图片描述

打开项目

 cd hello-vue
 npm run serve

在这里插入图片描述

项目结构

在这里插入图片描述

项目实践

项目要求:表格的CURD

  1. 首先删除多余的文件

  2. 创建添加、编辑、详情页的组件

  3. 修改路由

    import Vue from 'vue'
    import VueRouter from 'vue-router'
    import Home from '../views/Home.vue'
    import Add from '../views/Add.vue'
    import Edit from '../views/Edit.vue'
    import Detail from '../views/Detail.vue'
    
    Vue.use(VueRouter)
    
    const routes = [{
        path: '/',
        name: 'Home',
        component: Home
      },
      {
        path: '/add',
        name: 'Add',
        component: Add
      },
      {
        path: '/edit/:id',
        name: 'Edit',
        component: Edit
      },
      {
        path: '/detail/:id',
        name: 'Detail',
        component: Detail
      },
    ]
    
    const router = new VueRouter({
      routes
    })
    
    export default router
    
  4. 在Home页创建表格

    <template>
      <div class="home">
        <router-link to="添加"></router-link>
        <table>
          <thead>
            <tr>
              <th>编号</th>
              <th>标题</th>
              <th>内容</th>
              <th>创建时间</th>
              <th>操作</th>
            </tr>
          </thead>
          <tbody>
            <tr :key="item.id" v-for="item in posts">
              <td>{{ item.id }}</td>
              <td>{{ item.title }}</td>
              <td>{{ item.content }}</td>
              <td>{{ item.create_time }}</td>
              <td>
                <router-link :to="{ name: 'Detail', params: { id: item.id } }"
                  >详情</router-link
                >
                <router-link :to="{ name: 'Edit', params: { id: item.id } }"
                  >编辑</router-link
                >
                <a href="#">删除</a>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </template>
    
    <script>
    export default {
      name: "Home",
      data() {
        return {
          posts: [
            {
              id: 1,
              title: "测试标题一",
              content: "测试内容一",
              create_time: 1615446491112,
            },
          ],
        };
      },
    };
    </script>
    

    效果:

在这里插入图片描述

使用axios连接后台接口

安装axios

npm install axios

在组件中引入

import axios from "axios";

获取列表

created() {
    axios.get("http://127.0.0.1:3000/api/v1/posts").then((res) => {
      this.posts = res.data.data;
      console.log(res);
    });
  },

添加数据

   add() {
      axios.post("http://127.0.0.1:3000/api/v1/posts", {
          title: this.title,
          content: this.content,
        })
        .then((res) => {
          var data = res.data;
          if (data.errno == 0) {
            alert("添加成功");
            this.title = "";
            this.content = "";
              //路由重定向
            this.$router.push("/");
          }
        });
    }

删除数据

del(id) {
  axios.delete(`http://127.0.0.1:3000/api/v1/posts/${id}`).then((res) =>
    if (res.data.errno == 0) {
      //findIndex返回的值是匹配当前项的索引值
      var index = this.posts.findIndex((item) => {
        return item.id == id;
      });
      this.posts.splice(index, 1);
      alert(res.data.msg);
    }
  });
},
  },

修改数据

edite() {
   //获取获取vue-router传递的参数
  var id = this.$route.params.id;
  axios
    .put(`http://127.0.0.1:3000/api/v1/posts/${id}`, {
      title: this.title,
      content: this.content,
    })
    .then((res) => {
      if (res.data.errno == 0) {
        alert(res.data.msg);
        this.$router.push("/");
      }
    });
},

查询数据

created() {
    var id = this.$route.params.id;
    axios.get(`http://127.0.0.1:3000/api/v1/posts/${id}`).then((res) => {
      this.post = res.data.data;
    });
  },

效果在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值