为了账号安全,请及时绑定邮箱和手机立即绑定

vue的method方法如何将vm实例的this传进子函数中

vue的method方法如何将vm实例的this传进子函数中

至尊宝的传说 2018-12-21 23:19:26
在以下代码环境中应该如何修改seen值。已经试过这些方法1、首先seen是可以用实例调用,代码中用this.seen表示。但是在下面情况下this指向已经发生改变,用this.seen无法改变2、在函数外部将this赋值给that的方法也不行 不过我的用法可能有问题 请大神指点3、用箭头函数。会报错Cannot read property 'seen' of undefined<div>{{seen}}</div>export default {  data() {    return {      seen: '数据'    }  },  components: {  },  methods: {    a:function() {       bulabulabula       xmlhttp.onreadystatechange = function (that) {          if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {            xxx.seen = true             }       }    }  }}查了好多资料都没找到方法求大神指点
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

export default {

  data() {

    return {

      seen: '数据'

    }

  },

  components: {

  },

  methods: {

    a:function() {

       const that = this;

       xmlhttp.onreadystatechange = function () {

          if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {

               that.seen = true 

            }

       }

       //箭头函数

       //xmlhttp.onreadystatechange = () => {

         // if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {

           //    this.seen = true 

            //}

       //}

    }

  }

}


查看完整回答
反对 回复 2019-01-10
  • 1 回答
  • 0 关注
  • 349 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信