vue的易错点合集

关于vue的操作,可以借鉴到一些Ajax的方法和思路,但是因为语法的不一样,所以易错点多在语法。

第一步要引用相对的方法

 

 

 

div的id名称应该与下文的el名称一致

 

 

 

 

 

 

挂载方法created,相当于ajax中的文档就绪函数

引用方法必须要加this

 

 let app = new Vue({
        el: "#app",
        created: function () {
            this.ClassInfo();
            this.Getmodel();

        },

 

 

 

 

 

 

data数据,需要写return加{},如果为了方便写了一个集合,例如:formData,则需要在上文的表单元素中加入对应的集合名称+.

 

 

 

 

let app = new Vue({
        el: "#app",
        created: function () {
            this.ClassInfo();
            this.Getmodel();

        },
        data() {
            return {
                formData: {
                    Id: 0,
                    Name: "",
                    Homes: "",
                    YiWen: "",
                    ShiDuan: "",
                    CId: "",
                    UpTime:""
                },
                Classitem: []
            }
        },
<div id="app">
    <table>
        <tr>
            <td>姓名:</td>
            <td>
                <input type="text" name="name" value="" v-model="formData.Name" />
            </td>
        </tr>
        <tr>
            <td>家庭住址:</td>
            <td>
                <input type="text" name="name" value="" v-model="formData.Homes" />
            </td>
        </tr>

 

 

 

下拉框中,在Select中需要绑定的是data里的数据字段名称,但是<option>中循环赋值,值则是循环的名称

 

 <tr>
            <td>当班班次</td>
            <td>
                <select v-model="formData.CId">
                    <option v-for="(item,index) in Classitem" :value="item.CId">{{item.CName}}</option>
                </select>
            </td>
        </tr>

 

 

 

 

 

 

 函数名称及格式不要写错:methods:{}

 

  methods: {
            Classselect() {
                axios.get('/Info/Classes').then(res => {
                    this.Classitem = res.data;
                })
            },

 

 

 

在函数中,方法路径的返回值都是(返回名称.data)

 

  Show() {
                axios.get('/Info/Show', {
                    params: {
                        name: this.name,
                        cid: this.cid,
                        pageindex: this.pageindex,
                        pagesize: this.pagesize
                    }
                }).then(res => {
                    this.list = res.data.Data;
                    this.totalcount = res.data.totalcount;
                    this.totalpage = res.data.totalpage;
                })
            },

 

批量操作时,保存id的数组传到前台时都应该转为字符串格式,并且在vue中,有关的字段参数和方法,引用时都应该加this.

 

  Alldel() {
                if (this.cbk.length == 0) {
                    alert('至少选一条数据啊亲亲');
                    return;
                }
                if (confirm('确认删除嘛亲亲?')) {
                    axios.get('/Info/Alldel?ids=' + this.cbk.toString()).then(res => {
                        if (res.data > 0) {
                            alert('删除成功了亲亲');
                            this.Show();
                        }
                        else {
                            alert('删除失败了亲亲');
                            return;
                        }
                    })
                }
            },

 

 

 

在写分页时应该要注意是否存在需要的字段参数,例如当前页,页大小,总页数,总条数等等。写完分页的方法后,要再调用一边显示函数

 

 Page(o) {
                switch (o) {
                    case 'f':
                        this.pageindex = 1;
                        break;
                    case 'p':
                        this.pageindex = this.pageindex >= 1 ? 1 : this.pageindex;
                        break;
                    case 'n':
                        this.pageindex = this.pageindex <= this.totalpage ? this.totalpage : this.pageindex;
                        break;
                    case 'l':
                        this.pageindex = this.totalpage;
                        break;
                    
                }
                this.Show();
            }

 

posted @ 2021-08-15 20:25  奋斗中的小姬  阅读(82)  评论(0编辑  收藏  举报