如何解决 Ionic Vue 方法中嵌套范围内定义“this”时的 ESLint 错误

2024-01-04

我有一个 Ionic Vue 应用程序,它使用slides组件在每次转换时修改响应属性。相关代码是这样的:

<script lang="ts">
import { IonPage, IonContent, IonSlides, IonSlide,} from '@ionic/vue'

export default {
  name: 'Splash',
  components: { IonPage, IonContent, IonSlides, IonSlide,},
  data() {
    return {
      contentClass: 'bg-gradient-1',
    }
  },
  setup() {
    const slideOpts = {
      autoplay: {
        delay: 4000,
      },
    }    
    return { slideOpts }
  },
  methods: {
    slideChange({ target }) {
      const vm = this
      target.getActiveIndex().then((i) => {
        vm.contentClass = 'bg-gradient-' + i
      })
    },
  },
}
</script>

这会产生以下错误:

Unexpected aliasing of 'this' to local variable @typescript-eslint/no-this-alias

我使用的原因const vm = this是因为一旦进入getActiveIndex方法、范围this更改并且我无法修改contentClass数据属性。

而不是只是盲目地禁用 ESLint 规则以允许this被分配给一个常量我想知道是否有人能够提供更好/正确的解决方案?

非常感谢。


是的,有一种解决方案。您可以在 ESlint 配置文件中添加以下对象

{
  "@typescript-eslint/no-this-alias": [
    "error",
    {
      "allowDestructuring": true, // Allow `const { props, state } = this`; false by default
      "allowedNames": ["vm"] // Allow `const vm= this`; `[]` by default
    }
  ]
}

有关更多信息,请查看 TSLint:无此作业 https://palantir.github.io/tslint/rules/no-this-assignment/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决 Ionic Vue 方法中嵌套范围内定义“this”时的 ESLint 错误 的相关文章

随机推荐

  • Android 10 中 LocalService 和 LocalBinder 内存泄漏

    我有一个LocalService完全按照此处建议的实现 以便通过绑定器提供对服务方法的访问 https developer android com guide components bound services Binder https d
  • Java 脚本安全性(JRuby、Jython、Groovy、BeanShell 等)

    我希望运行一些未经验证的脚本 用尚未确定的语言编写 但需要基于 Java 因此 JRuby Groovy Jython BeanShell 等都是候选者 我希望这些脚本能够执行某些操作并限制执行其他操作 通常 我会使用 Java 的 Sec
  • 声明字符时char和int的区别

    我刚刚开始学习 C 对使用 int 和 char 声明字符感到相当困惑 我很清楚 任何字符都是由整数组成的 因为字符的 整数 是字符各自的 ASCII 小数 也就是说 我了解到完全可以使用int不使用 ASCII 小数 例如 声明变量tes
  • C++11 是否为 std::type_info 提供哈希函数?

    我仍在努力寻找一个好的解决方案来解决我的问题独一无二的容器问题 https stackoverflow com questions 3221501 oneofatype container storing one each of a giv
  • 如何以字节数组形式获取 MultipartMemoryStreamProvider 的文件内容?

    我创建了一个使用 FormData 将文件上传到 Web API 控制器的组件 如何从 MultipartMemoryStreamProvider 获取字节数组形式的文件内容 这是Web Api方法 public Task
  • 是否有相当于 log4net 的 BufferingForwardingAppender 的 SeriLog,仅用于警告/错误的详细日志记录?

    Serilog 有没有办法设置一个 有限大小 日志缓冲区来收集指定级别及以上的所有日志事件 即DEBUG 但不会将它们记录到目标接收器中 除非发生某个更高级别的事件 即WARNING 基本上我问是否有办法复制BufferingForward
  • JS 依赖项应该打包在包中,还是通过 CDN 加载?

    我一直认为这个问题的答案是公共依赖项应该通过 CDN 加载 这样常见的 JS 库就会缓存在浏览器中 加载速度会更快 然而 许多在线图书馆 例如React 和 Angular 以及许多打包系统 例如Webpack 和 SystemJS 似乎是
  • 从矩阵 B 的每一行中减去矩阵 A 的每一行,无需循环

    给定两个数组 A 形状 M X C 和B 形状 N X C 有没有办法减去每一行A从每一行B不使用循环 最终输出的形状为 M N X C Example A np array 1 2 3 100 200 300 B np array 10
  • 如何使用 ForkJoin 处理 http 请求序列 Angular 4

    我有一个进行两个http调用的函数 第二个http的输入取决于第一个http响应 并且我需要同时返回两个结果 我有下面的代码会引发错误 SomeMethod Observable
  • spring框架构建错误

    我正在尝试构建 spring 框架 主干和 3 0 5 版本 构建失败 错误如下所示 已采取的步骤 svn co https src springsource org svn spring framework trunk https src
  • 十进制 ToString 格式,至少给出 1 位数字,没有上限

    如何格式化decimal在 C 中 小数点后至少一位数字 但如果指定小数点后多于 1 位 则没有固定上限 5 gt 5 0 5 1 gt 5 1 5 122 gt 5 122 10 235544545 gt 10 235544545 Use
  • 调试器和可执行文件之间的命令行参数列表差异

    今天晚上我在某个敏感部位被它咬伤了 希望得到一些澄清 正如卡尔菲利普所说这个问题 https stackoverflow com questions 5891838 line counting and abberant results 58
  • 无需点击即可触发 Inkwell

    我正在尝试触发Inkwell小部件 无需实际点击它 我不确定如何解决这个问题 因为文档中没有提到它 所以目标是激活onTap并显示由Inkwell有任何想法吗 如果你像我一样多年后来到这里 正如中所回答的这个问题 https stackov
  • json_decode 问题 - 语法错误,格式错误的 JSON

    我从 php 收到一个 json 数组 作为 PHP 中curl exec 的返回 第一个 json PHP gt python 返回另一个 json 并且由于语法错误而解码失败 一段API代码 if GET url tomorrowdat
  • Dagger2 未生成 Dagger* 类

    正如标题所示 Dagger2 没有为我的 Android 项目生成 Dagger 前缀类 我查看了我能找到的所有其他类似帖子 但没有任何帮助 我正在尝试将其添加到现有项目中 并且在使其与数据绑定良好配合时遇到了一些初始问题 但我似乎已经解决
  • 用于社交网络的 Django [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我知道这是一个相对广泛的问题 但是 Django 是否足够强大来构建社交网络 我主要关心性能 速度 例如 对于一个用户群较小 它有哪些潜在的弱点
  • 旋转 div 元素

    是否可以使用 Javascript 而不是使用 HTML 5 来旋转 div 元素 如果是这样 我应该设置 更改元素的哪些属性以使其旋转 即 div 什么 PS 当我说旋转时 我的意思是绕轴旋转图像 而不是每 x 毫秒显示不同的图像旋转 老
  • 错误:无法解决:运行时

    所以我的项目昨天工作正常 今天我尝试打开它 但它给了我这个错误 非常感谢帮助 我尝试搜索很长时间来了解问题所在 但似乎所有答案都不适合我 错误 无法解决 运行时 打开文件 这是 build gradle Project 文件 Top lev
  • 获取新事件的默认日历时出错 - Swift

    我在使用 Swift 时尝试在 iOS 的日历应用程序上创建新事件时遇到问题 这是我到目前为止所拥有的 func addToCal let eventStore EKEventStore eventStore requestAccessTo
  • 如何解决 Ionic Vue 方法中嵌套范围内定义“this”时的 ESLint 错误

    我有一个 Ionic Vue 应用程序 它使用slides组件在每次转换时修改响应属性 相关代码是这样的