vue模板内用箭头函数轻松的增加了第二参数吗?

如题所述

第1个回答  2022-05-02
1.不可以使用arguments对象,在箭头函数内不存在这个对象,如果要是使用,可以使用rests也就是 ...
2.函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。箭头函数里面的this总是只想函数定义生效时所在的对象。
3.不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
4.不可以使用yield命令,因此箭头函数不能用作Generator函数。
第2个回答  2022-05-05
methods中的function中的this指向vue实例,其他的没什么这种调用方式是直接访问test2函数,没有任何的this绑定,所以肯定访问不到
this.$options.methods.test2();
而直接调用this.test2(),内部肯定做了this绑定的,例如
this.$options.methods.test2.bind(this)();
更新:vue源码中的处理
/**
*
setup
instance
methods.
methods
must
be
bound
to
the
*
instance
since
they
might
be
passed
down
as
a
prop
to
*
child
components.
*/
vue.prototype._initmethods
=
function
()
{
var
methods
=
this.$options.methods
if
(methods)
{
for
(var
key
in
methods)
{
this[key]
=
bind(methods[key],
this)
}
}
}
function
bind
(fn,
ctx)
{
第3个回答  2022-05-06
1.不可以使用arguments对象,在箭头函数内不存在这个对象,如果要是使用,可以使用rests也就是 ...
2.函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。箭头函数里面的this总是只想函数定义生效时所在的对象。
3.不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
4.不可以使用yield命令,因此箭头函数不能用作Generator函数。
第4个回答  2022-05-03
html中使用input type='date'的输入框,想要动态获取日期值,比较后弹出提示,如果使用watch监听的话会在没有输完之前就弹窗,所以想实现用户输完后点击别的地方再弹窗。本回答被网友采纳
第5个回答  2022-05-04
在es5中, 普通用function声明的函数是定义在window对象上的,显而易见其内部的this肯定是默认指向window对象。而直接用函数名来调用得到的函数内this也是window对象。可以这么理解,那个看不见的调用者就是window
在es6中,为了规范function中this的所属问题,在使用‘use strict’模式下,不显示地用window对象调用函数则其内部的t