关于this指向,救救孩子吧!!

TIM%E6%88%AA%E5%9B%BE20190912155728
这边有个组件通过isDrawer属性控制触发,然后触发按钮在下图TIM%E6%88%AA%E5%9B%BE20190912160146


在render渲染的事件内,this指向了当前的class,而不是VueComponent,导致修改的是datamanage里面的isDrawer,无法正确触发抽屉组件的开启,查看VueComponent内的isDrawer属性依然是false
TIM%E6%88%AA%E5%9B%BE20190912160110
以前都是通过let _this=this这种方式来实现的,现在用了ts之后不知道应该怎么写了,有什么办法使渲染函数内的this正确指向当前的组件嘛 :tired_face::tired_face::tired_face:

你这个handle 在哪里用得呢?

先不用箭头函试试看…

没明白,你的isDrawer不在当前类里吗?

render 方法不要用箭头函数,用普通函数,我觉得应该可以了

首先this 肯定是指向当前的类,由于当前类继承Vue,所以this只不过是指向Vue的子类,并没有错也不冲突,如果你要通过this调用你类的变量,要不就实例化该类的一个对象,然后this.(变量)即可,不然就是把变量声明为static ,静态变量不用实例化就可使用

2 Likes

百度一下,箭头函数的this和普通function中this的区别你就明白了