场景描述:
最近使用vue-router写路由的时候突然发现一个问题。html里面使用this.routerParams时获取不到响应的值,但是使用routerParams可以正常获取到值。我就想问为什么这里使用this.routerParams我为什么得到的是undefined?
html:
js
场景描述:
最近使用vue-router写路由的时候突然发现一个问题。html里面使用this.routerParams时获取不到响应的值,但是使用routerParams可以正常获取到值。我就想问为什么这里使用this.routerParams我为什么得到的是undefined?
html:
js
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
首先,你需要分清楚在Vue中的两种值的形式:模板和表达式。
在Vue的HTML代码中,
:to
其实是v-bind:to
数据绑定的简写。数据绑定后面的值,是表达式。所以,对于表达式,和JS写法一致,只是所有的this
全被省略。而你下面
watch
部分属于JS内容,所以需要this
。如果你在
:to
里写this
,由于表达式本身省略this
,所以实际上你调用的是this.this
值。