zoukankan      html  css  js  c++  java
  • Vue端增删改查实现

    1.GET查询数据

    <template>
      <div>
        <h1>查询数据</h1>
        <div v-for="i in list">
          <p>姓名:{{i.name}}
          </p>
          <p>年龄:{{i.age}}</p>
          <p>家乡:{{i.home}}</p>
          <div style="border:1px solid #CCC"></div>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        name: "Get",
        data() {
          return {
            list: [],
          }
        },  
        //在实例创建完成后被立即调用
        created() {
          this.axios.get('/user/user/').then(resp => {
            this.list = resp.data;
            console.log(resp.data)
          })
        }
      }
    </script>
    
    <style scoped>
    
    </style>
    
    

    浏览器返回页面:

    2.Post添加数据

    <template>
      <div>
        <h1>查询数据</h1>
        <a>
          <button @click="add_post">点击添加</button>
        </a>
        <div v-for="i in list">
          <p>姓名:{{i.name}}
            <a><button @click="created(i.id)">修改</button></a>
            <a><button @click="del(i.id)">删除</button></a>
          </p>
          <p>年龄:{{i.age}}</p>
          <p>家乡:{{i.home}}</p>
          <div style="border:1px solid #CCC"></div>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        name: "Get",
        data() {
          return {
            list: [],
          }
        },
        methods: {
          //点击那个添加按钮 跳转到修改页面
          add_post() {
            this.$router.push('/post')
          },
      }
    </script>
    
    <style scoped>
    
    </style>
    
    

    2.1 点击添加跳转到添加页面

    <template>
      <div>
        <h1>Post页面</h1>
        <div>
          <p>姓名:<input type="text" v-model="name"></p>
          <p>年龄:<input type="text" v-model="age"></p>
          <p>家乡:<input type="text" v-model="home"></p>
          <p>
            <button @click="add_post">添加</button>
          </p>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        name: "Post",
        data() {
          return {
            name: '',
            age: '',
            home: ''
          }
        },
        methods: {
          add_post() {
            const fdata=new FormData();
            fdata.append('name',this.name);
            fdata.append('age',this.age);
            fdata.append('home',this.home);
            this.axios.post('/user/user/', fdata).then(resp => {
              console.log(resp.data);
              if(resp.data.code=='200'){
                console.log('添加成功!!!')
              }else {
                console.log('添加失败---')
              }
            }).catch(error => {
              console.log(error)
            })
          }
        }
      }
    </script>
    
    <style scoped>
    
    </style>
    
    

    浏览器返回页面:

    3.修改数据

    <template>
      <div>
        <h1>查询数据</h1>
        <a>
          <button @click="add_post">点击添加</button>
        </a>
        <div v-for="i in list">
          <p>姓名:{{i.name}}
            <!--<router-link :to="{'path':'/updated/','query':{'id':i.id}}">点击修改</router-link>-->
            <!--<router-link :to="{'path':'/del/','query':{'id':i.id}}">删除</router-link>-->
            <a><button @click="created(i.id)">修改</button></a>
            <a><button @click="del(i.id)">删除</button></a>
          </p>
          <p>年龄:{{i.age}}</p>
          <p>家乡:{{i.home}}</p>
          <div style="border:1px solid #CCC"></div>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        name: "Get",
        data() {
          return {
            list: [],
            id:''
          }
        },
        methods: {
          add_post() {
            this.$router.push('/post')
          },
          created(id){
            this.$router.push({path:"/updated?id="+id})
            }
          },
          del(id){
              this.axios.delete('/user/user/?pk='+id).then(resp=>{
                console.log(resp.data);
                if(resp.data.code=='200'){
                  alert('删除成功!!!')
                }else {
                  alert('删除失败---')
                }
              }).catch(error => {
                console.log(error)
              })
        },
        created() {
          this.axios.get('/user/user/').then(resp => {
            this.list = resp.data;
            console.log(resp.data)
          })
        }
      }
    </script>
    
    <style scoped>
    
    </style>
    
    

    3.1点击修改跳转到修改页面

    <template>
        <div>
          <h1>修改页面</h1>
          <div>
            <p>姓名:<input type="text" v-model="name"></p>
            <p>年龄:<input type="text" v-model="age"></p>
            <p>家乡:<input type="text" v-model="home"></p>
            <p>
              <button @click="created">添加</button>
            </p>
          </div>
        </div>
    </template>
    
    <script>
        export default {
            name: "Updated",
          data(){
              return{
                name: '',
                age: '',
                home: '',
                // id:this.$router.query.id,
                id:this.$route.query.id
              }
          },
          methods:{
            created(id){
              const fdata=new FormData();
              fdata.append('name',this.name);
              fdata.append('age',this.age);
              fdata.append('home',this.home);
              this.axios.put('/user/user/?pk='+this.id, fdata).then(resp => {
                console.log(resp.data);
                if(resp.data.code=='200'){
                  alert('修改成功!!!')
                }else {
                  alert('修改失败---')
                }
              }).catch(error => {
                console.log(error)
              })
            }
            }
        }
    </script>
    
    <style scoped>
    
    </style>
    
    

    4.删除页面

    <template>
      <div>
        <h1>查询数据</h1>
        <a>
          <button @click="add_post">点击添加</button>
        </a>
        <div v-for="i in list">
          <p>姓名:{{i.name}}
            <!--<router-link :to="{'path':'/updated/','query':{'id':i.id}}">点击修改</router-link>-->
            <a><button @click="created(i.id)">修改</button></a>
            <a><button @click="del(i.id)">删除</button></a>
          </p>
          <p>年龄:{{i.age}}</p>
          <p>家乡:{{i.home}}</p>
          <div style="border:1px solid #CCC"></div>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        name: "Get",
        data() {
          return {
            list: [],
            id:''
          }
        },
        methods: {
          add_post() {
            this.$router.push('/post')
          },
          created(id){
            this.$router.push({path:"/updated?id="+id})
            }
          },
          del(id){
              this.axios.delete('/user/user/?pk='+id).then(resp=>{
                console.log(resp.data);
                if(resp.data.code=='200'){
                  alert('删除成功!!!')
                }else {
                  alert('删除失败---')
                }
              }).catch(error => {
                console.log(error)
              })
        },
        created() {
          this.axios.get('/user/user/').then(resp => {
            this.list = resp.data;
            console.log(resp.data)
          })
        }
      }
    </script>
    
    <style scoped>
    
    </style>
    
    

    浏览器返回的页面:

    从小白到大神的蜕变~~
  • 相关阅读:
    SSL证书安装指引
    SSL证书绑定成功
    我是如何将网站全站启用Https的?记录博客安装配置SSL证书全过程
    _INT_SIZEOF 规格严格
    Java: Multidimensional array vs. Onedimensional 规格严格
    Fix JDK TImer 规格严格
    Ecpilse debug视图 规格严格
    PE 分析 规格严格
    VC Unicode 规格严格
    Object Pool 规格严格
  • 原文地址:https://www.cnblogs.com/tjw-bk/p/13893013.html
Copyright © 2011-2022 走看看