H5W3
当前位置:H5W3 > 其他技术问题 > 正文

vue 什么时候用this?

场景描述:
最近使用vue-router写路由的时候突然发现一个问题。html里面使用this.routerParams时获取不到响应的值,但是使用routerParams可以正常获取到值。我就想问为什么这里使用this.routerParams我为什么得到的是undefined?
html:
clipboard.png
js
clipboard.png

回答:

首先,你需要分清楚在Vue中的两种值的形式:模板和表达式。

模板:格式为{{...}},模板本身的类型,可以认为是字符串,但是可以被模板的解析器展开成可以识别的内容。
表达式:可以直接执行的代码,也就是说基本上与JS代码并无二致,只是所有的方法和数据都省略this

在Vue的HTML代码中,:to其实是v-bind:to数据绑定的简写。数据绑定后面的值,是表达式。所以,对于表达式,和JS写法一致,只是所有的this全被省略。

而你下面watch部分属于JS内容,所以需要this

如果你在:to里写this,由于表达式本身省略this,所以实际上你调用的是this.this值。

本文地址:H5W3 » vue 什么时候用this?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址