首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在使用装饰器时使用VueJS中的数据对象?“类方法‘data’应使用'this‘。”

如何在使用装饰器时使用VueJS中的数据对象?“类方法‘data’应使用'this‘。”
EN

Stack Overflow用户
提问于 2019-03-29 04:54:12
回答 1查看 683关注 0票数 1

错误>类方法“data”应使用“this”。

我确实找到了这个,并认为我在下面是正确的:TypeScript Unexpected token, A constructor, method, accessor or property was expected

代码语言:javascript
复制
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator'
import { MOON_HOLDINGS_LINK, TWITTER_LINK } from '@/constants/links'

@Component
export default class HelloWorld extends Vue {
  @Prop() private title!: string

  data(): any {
    return {
      moonLink: MOON_HOLDINGS_LINK,
    }
  }
}
</script>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-29 05:28:16

这要归功于ESLint的class-methods-use-this规则。

但是data()不需要使用this (仅在极少数情况下)。

因此,您可能应该取消该特定方法的警告,因为我相信data()满足ESLint as a possible exception to that rule所描述的场景

例如,您可能有一个来自外部库的规范,它要求您将方法重写为常规函数(而不是静态方法),并且不在函数体中使用this

因此,您将使用:

代码语言:javascript
复制
/*eslint class-methods-use-this: ["error", { "exceptMethods": ["data"] }] */

示例:

代码语言:javascript
复制
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator'
import { MOON_HOLDINGS_LINK, TWITTER_LINK } from '@/constants/links'

@Component
export default class HelloWorld extends Vue {
  @Prop() private title!: string

  /*eslint class-methods-use-this: ["error", { "exceptMethods": ["data"] }] */
  data(): any {
    return {
      moonLink: MOON_HOLDINGS_LINK,
    }
  }
}
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55406698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档