手把手教你做一個VUE純單頁面的,靜態的增刪改查,非常詳細

手把手教你做一個VUE純單頁面的,靜態的增刪改查

1.工具

idea
vue需要的三個js文件

vue.js vue最基礎的js文件
qs.js後臺傳參時需要進行轉換(此處單頁面,不進行後臺傳參,所以不需要)
axios.js 發送路徑
在這裏插入圖片描述
步驟1:
首先建一個vuetest.html文件,導入需要的js文件
如圖:我的項目結構:
在這裏插入圖片描述
導入需要的js文件

 <script src="../vueJs/vue.js"></script>

查詢

body中

<div  id="app">
  <table border="1">

        <tr>
            <td>編號</td>
            <td>姓名</td>
            <td>年齡</td>
            <td>操作</td>
        </tr>

        <!--遍歷: list爲在data中定義的數組名字  item爲字段名,index爲下標-->
         <tr  v-for="(item,index) in list" >
            <td>{{index}}</td>
            <td>{{item.name}}</td>
            <td>{{item.age}}</td>
             <td>
                 <input type="button" v-on:click="update(index,item)" value="修改">
                 <input type="button" v-on:click="del(index)" value="刪除">
             </td>
         </tr>
    </table>

    </div>

script中

 new Vue({
 //所有的vue的操作,都必須放到這個id="app" 的div中,否則,vue用不了
        el:"#app",
        data:{
        //存放要查詢的數據集合(動態的這裏直接寫一個空集合,就可以使用了)
            list:[
                {name:"張三",age:22},
                {name:"李四",age:11},
                {name:"王五",age:26},
                {name:"aaa",age:33}
            ],

        },
    })

查詢完成了

在這裏插入圖片描述

新增

姓名: <input type="text" v-model="name" id="name"/>
   年齡: <input type="text"  v-model="age" id="age"/>
    <input type="button" v-on:click="add()" value="增加">
 new Vue({
        el:"#app",
        data:{
         //與v-model中的必須保持一致
            name:"",
            age:"",

            list:[
                {name:"張三",age:22},
                {name:"李四",age:11},
                {name:"王五",age:26},
                {name:"aaa",age:33}
            ],

        },

        methods:{

            add:function(){
                //直接通過this.name就可以獲取到文本框中name的值
              //  alert(this.name);
              //  alert(this.age);

                //定義一個鍵值對的json,通過list的push方法增加到list中數據
                var user = {name:this.name,age:this.age}
                this.list.push(user);
            },
        }
    })

增加結束
在這裏插入圖片描述

修改

姓名: <input type="text" v-model="name" id="name"/>
年齡: <input type="text"  v-model="age" id="age"/>

  <input type="button" v-on:click="updateUser()" value="修改">

 <table border="1">

        <tr>
            <td>編號</td>
            <td>姓名</td>
            <td>年齡</td>
            <td>操作</td>
        </tr>

        <!--遍歷: list爲數組名字  item爲字段名,index爲下標-->
         <tr  v-for="(item,index) in list" >
            <td>{{index}}</td>
            <td>{{item.name}}</td>
            <td>{{item.age}}</td>
             <td>
                 <input type="button" v-on:click="update(index,item)" value="修改">
                 <input type="button" v-on:click="del(index)" value="刪除">
             </td>
         </tr>
    </table>
new Vue({
    el:"#app",
    data:{
        nameJiLian:"",
        name:"",
        age:"",
        //存放當前行的唯一標識
        indexVal:"",

        list:[
            {name:"張三",age:22},
            {name:"李四",age:11},
            {name:"王五",age:26},
            {name:"aaa",age:33}
        ],

    },


    methods:{

		//回顯
       toUpdate:function(index){
        
          //  alert(index);
         //   alert(item.name);
         
         //通過this可直接獲取到文本框中name個age值,並進行回顯,index是當前行的唯一標識
            this.name = this.list[index].name;
            this.age =  this.list[index].age;
            this.indexVal = index;
            //alert( this.indexVal);
        },
        
     //修改
        updateUser:function(index) {
        //獲取到所有對象,以鍵值進行存儲
            var user = {name:this.name,age:this.age};
			//獲取當前唯一標識
            var indexVal = this.indexVal;

         //   alert(indexVal);
			//給list集合下標爲indexVal的所對應的賦值
            this.list[this.indexVal].name = this.name;
            this.list[this.indexVal].age = this.age;

		//修改結束,將所有文本框置空
            this.name="";
            this.age="";
            this.indexVal="";
            
        }

    }

})

回顯
在這裏插入圖片描述
修改後
在這裏插入圖片描述

刪除

div中

    <tr>
        <td>編號</td>
        <td>姓名</td>
        <td>年齡</td>
        <td>操作</td>
    </tr>

    <!--遍歷: list爲數組名字  item爲字段名,index爲下標-->
     <tr  v-for="(item,index) in list" >
        <td>{{index}}</td>
        <td>{{item.name}}</td>
        <td>{{item.age}}</td>
         <td>
             <input type="button" v-on:click="update(index,item)" value="修改">
             <input type="button" v-on:click="del(index)" value="刪除">
         </td>
     </tr>
</table>

script

 methods:{
 //需要傳一個參數過來。也就是當前數據的唯一標識
  		del:function(index){

               // alert("刪除");
               //用list的splice方法,第一個參數:從那個開始刪除,第二個參數:刪除幾條數據
                this.list.splice(index,1);
            },

}

刪除結束
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章