Skip to content

==vue的methods中存放方法,写法有 aaa(){ } 和 bbb:function(){ }==

注意:第二种bbb:function(){ }写法,可以实现把bbb重新赋值!

java
methods:{   // key:value  key是方法名,value是function   

   aaa(){  //es6 简写允许我们省略对象方法的function关键字及之后的冒号
          
   },
   bbb:function(){  //es5
          
   }
   //aaa bbb 都是methods对象的属性  ---> 作为对象属性的函数被称为 方法
  
}

vue2中初始化时会解析,重新定义methods中方法的引用,修改调用函数时的上下文环境,将this指向vue实例,源码

java
function initMethods (vm, methods) {
  for (const key in methods) {
    vm[key] = typeof methods[key] !== 'function' ? noop : methods[key].bind(vm);
  }
}

补充

js中定义函数的4种方式:

函数声明 function aaa(){}

函数表达式 aaa = function(){}

用Function构造方法 aaa = new Function(参数,参数,…,参数,函数体)

匿名函数 function(){}