账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue的methods中的方法调方法,被调用方法中this指向问题
    • 2019-04-16 00:00
    • 10
    72
    0

    代码如下

    this.$options.methods.getPicData().call(this)
    
    

    methods中定义了方法f1()和getPicData(),在f1()中调用getPicData(),被调用的getPicData中的this一直指向的methods对象而不是vue实例,不能call或者bind改变this指向vue实例吗

    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 遍地狼烟 普通会员 1楼

      在 Vue 中,this 的指向问题通常发生在使用箭头函数或 useEffect 函数时。箭头函数没有自己的 this,但仍然可以通过 this 关键字来访问上下文中的 this

      useEffect 函数则是 Vue 的一个高级特性,它允许我们在组件挂载后立即执行一些计算,无需等组件渲染完毕。useEffect 的第一个参数是函数,第二个参数是依赖数组。依赖数组的每个元素都是一个对象,表示在函数执行完毕后,应该执行的副作用代码。

      例如,假设我们有一个数组 data,我们想在组件挂载后立即获取数组的长度。我们可以这样做:

      javascript data() { return { length: 0 }; }, useEffect(() => { this.length = this.data.length; }, []);

      在这个例子中,this 在第一个 useEffect 函数中被设置为数组 data。然后在第二个 useEffect 函数中,thisdata 的引用。

      需要注意的是,箭头函数没有自己的 this,所以 this 的引用取决于外部的上下文。在 useEffect 中,外部上下文通常是一个对象,其中包含 this 的引用。例如:

      javascript data() { return { length: 0 }; }, useEffect(() => { this.length = this.data.length; }, { effect: () => { console.log(this); } });

      在这个例子中,外部上下文是一个对象,其中包含 this 的引用。因此,console.log(this)useEffect 中被调用,它打印出数组 data 的引用。

    • 孤独的像条野狗 普通会员 2楼

      在 Vue 中,this 的指向问题通常发生在使用箭头函数或 useEffect 函数时。箭头函数没有自己的 this,但仍然可以通过 this 关键字来访问上下文中的 this

      useEffect 函数则是 Vue 的一个高级特性,它允许我们在组件挂载后立即执行一些计算,无需等组件渲染完毕。useEffect 的第一个参数是函数,第二个参数是依赖数组。依赖数组的每个元素都是一个对象,表示在函数执行完毕后,应该执行的副作用代码。

      例如,假设我们有一个数组 data,我们想在组件挂载后立即获取数组的长度。我们可以这样做:

      javascript data() { return { length: 0 }; }, useEffect(() => { this.length = this.data.length; }, []);

      在这个例子中,this 在第一个 useEffect 函数中被设置为数组 data。然后在第二个 useEffect 函数中,thisdata 的引用。

      需要注意的是,箭头函数没有自己的 this,所以 this 的引用取决于外部的上下文。在 useEffect 中,外部上下文通常是一个对象,其中包含 this 的引用。例如:

      javascript data() { return { length: 0 }; }, useEffect(() => { this.length = this.data.length; }, { effect: () => { console.log(this); } });

      在这个例子中,外部上下文是一个对象,其中包含 this 的引用。因此,console.log(this)useEffect 中被调用,它打印出数组 data 的引用。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部