在编写后端的时候,经常就碰到各种各样的参数传递,现在把这些烦人的地方总结一下!分为两部分,页面内和页面间的参数传递。
1 页面内的参数传递
1.1 不同位置的this到底指什么?
页面内的参数传递我觉得一定要先来搞清楚一个问题 不同领域地方的this是什么!
- 给粗心的自己看:uni.getLocation的参数是无法直接传递到< template>!
1.1.1小结:
先说结论性的东西我们会把单页面script里能使用函数的地方的this都过了一遍。看看this在不同的位置所指向的对象是谁!见表格!至于论证过程,感兴趣的可以看小结外的部分。
位置是逐层往下写的 架构为
<script> onLoad(){uni.getLocation{(success:uni.getrequest..
位置 | / | this |
---|---|---|
script | / | 玄学 |
onLoad() | / | page |
uni.getLocation | 普通函数 | getLocation的sucess函数 |
uni.getLocation | 箭头函数 | page |
method | / | page |
套娃单独拿出来说!
第一层getLocation | this | 第二层getrequest | this |
---|---|---|---|
箭头 | page | 箭头 | page |
箭头 | page | 普通 | getLocation.success作用域 |
普通 | getLocation.success 作用域 | 箭头 | getLocation.success作用域 |
普通 | getLocation.success 作用域 | 普通 | getrequest.success作用域 |
1.1.2 实验部分
我们先来定义一个函数 “的this到底是什么” 默认为 console.log(this),下面我们会复用它!
第一个问题
<script>
console.log(this)
- 返回值是undefined 我也不知道呀!
第二个问题:onLoad()“的this到底是什么”
<script>
export default {
data() {
return {
}
},
onLoad() {
- 返回的对象是VueComponent,继续深挖,发现__page__($page也有可以)下竟然有它所有的信息,比如path/route 路径路由都有了,那就调用吧!
onLoad() {
console.log(this.__page__.route)
很显然,onLoad()里的this的log返回的route是 pages/test/test,那么肯定就是页面了,真相了!