1.methods方法应用场景:

在Vue中,我们需要调用某个方法时,我们需要先将这些方法定义在methods属性中,然后才能在vue 表达式中调用该方法。

2.methods方法的使用方法

语法定义如下:

<script>
    //创建vue对象
    new Vue({
       el: "#app",//将id=app的div的管理权交给Vue
       methods:{//在此处声明所有的方法
           方法名1(){//点击对应按钮后执行
           },
           方法名2() {
           }
       }
    });
</script>

下面我们举一个小例子.

我们在调用doAdd方法时需要先在methods中定义该方法.

然后我们可以在按钮中使用@click="doAdd"来调用方法

  <div class="row">
     <div class="col-md-4 col-md-offset-4" style="margin-top: 20px;text-align: center;">
      //该处调用了doAdd方法
     <button class="btn btn-primary" style="margin-right: 8px;"@click="doAdd">添加</button>
     <button class="btn btn-default">重置</button>
     </div>
</div>
 methods : {
         //这里面定义了一个doAdd的方法.
         doAdd(){
               var url = "user_adduser_name="+this.userName+"&nick_name="+this.nickName+"&sex="+this.sex
                    +"&phone="+this.phone+"&birth="+this.birth;
               console.log(url);
               //通过axios发送请求
                axios.get(url).then(response =>{
                    console.log(response.data);
                    if (response.data == 'true'||response.data == true) {
                        window.location.href = 'user_list.html';
                    }else {
                        alert("添加用户失败!");
                    }
                });
            }
        }

3.要点注意:

在方法中,this默认指向该方法所属的实例,可以使用this访问data中的属性或者其他方法

但是!!!!!

千万注意, 方法不能使用箭头函数,因为箭头函数的this不是Vue实例, (例如 do: () =>this.a)

理由:箭头函数绑定了父级作用域的上下文,这种情况下this 将不会默认指向 Vue 实例,this.a 运行时将会报错,报错理由为a undefined(a没有被定义)

希望以上分享能对大家有帮助.

发表回复