当前位置:网站首页 > Vue.js开发 > 正文

vue组件中的this指向问题

【问题描述】返回顶部组件里,用到数据操作。通过方法里改动this数据,但发现直接使用失效  检查后发现this指向window,而非vue实例,所以无法操作数据。

mounted() { window.onscroll=function(){ if(document.documentElement.scrollTop>100) { this.isActive=true; }else{ this.isActive=false; } } }

【解决方案】:因为在函数内部使用this时,this会指向window,而非vue实例。所以除了vue组件自身方法外,在别的地方调用this时,首先需要在最外部,设置一个变量,将其绑定上vue实例。

mounted() { /* 问题:在内部直接操作this失效? */ /* 解析:因为在函数内部使用this时,this会指向window,而非vue实例。所以除了vue组件自身方法外,在别的地方调用this时, 首先需要在最外部,设置一个变量,将其绑定上vue实例。*/ var vm=this; window.onscroll=function(){ if(document.documentElement.scrollTop>100) { vm.isActive=true; }else{ vm.isActive=false; } } }

到此这篇vue组件中的this指向问题的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • JS跳出循环的遍历方法2024-11-28 10:45:08
  • VUE非父子组件间的传值2024-11-28 10:45:08
  • VUE实现父子组件传值以及递归组件的传值2024-11-28 10:45:08
  • VUE项目通过ip访问前端页面的相关配置2024-11-28 10:45:08
  • vue获取使用封装的函数返回值2024-11-28 10:45:08
  • VUE引入工具类2024-11-28 10:45:08
  • 在vue项目中引入使用ElementUI2024-11-28 10:45:08
  • VUE的生命周期2024-11-28 10:45:08
  • js关于if-else的逻辑使用优化2024-11-28 10:45:08
  • 资源网365,资源之家! 天天好资源!力争打造一个更好的资源网下载站.希望大家指教!...2024-11-28 10:45:08
  • 全屏图片