未捕获的类型错误:this.saveAlpha 不是 eval 处的函数
P粉930534280
P粉930534280 2024-03-27 11:22:56
[Vue.js讨论组]

在此代码中,我有一个开始和一个停止按钮以及一个计时器。

我想从手机获取信息,例如 DeviceOrientationEvent 以及绝对、alpha、beta 和 gamma 等属性,如本链接所示。 我不知道该怎么做这样的事情,因为我从来没有使用过此类事件。

收到这些事件后,我会将它们保存在例如方向[]。



编辑:使用代码,每当我模仿开发工具中传感器选项卡中alpha值的变化时,我都会收到 Uncaught TypeError: this.saveAlpha is not a function at eval (file1.vue?149e:95)

P粉930534280
P粉930534280

全部回复(1)
P粉494151941

我个人没有这样做过,但看起来您需要添加一个侦听器,然后使用一种或多种方法来保存事件中的新数据。

data() {
  return {
     ...,
     alpha: []
  } 
},
mounted: {
  window.addEventListener('deviceorientation', function(event) {
    this.saveAlpha(event.alpha)
  });
  // more event listeners
},
methods: {
  saveAlpha(alpha) {
    this.alpha.push(alpha)
  },
  // more saveMethods
}

评论更新:

...
data() {
  return {
     continue: "false"
  {
},
methods: {
  ...
  listener() {
    if(this.continue) {
      window.addEventListener('deviceorientation', function(event) {
        this.saveAlpha(event.alpha)
      });
      // more event listeners
    }
  }
}

然后在您的组件中,确保 @click=listener。您需要添加一些逻辑来围绕该方法开始/停止捕获。您可以使用按钮翻转 continue 属性。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号