Javascript 使用装饰器时如何在VueJS中使用数据对象&引用;预期';这';由类方法使用';数据'&引用;
错误>类方法“data”应使用“this” 我确实发现了这一点,并认为下面的说法是正确的:Javascript 使用装饰器时如何在VueJS中使用数据对象&引用;预期';这';由类方法使用';数据'&引用;,javascript,vue.js,vuejs2,decorator,Javascript,Vue.js,Vuejs2,Decorator,错误>类方法“data”应使用“this” 我确实发现了这一点,并认为下面的说法是正确的: 从“Vue属性装饰器”导入{Component,Prop,Vue} 从“@/constants/links”导入{MOON_HOLDINGS_LINK,TWITTER_LINK} @组成部分 导出默认类HelloWorld扩展Vue{ @Prop()私有标题!:字符串 data():任何{ 返回{ 月亮链接:月亮链接, } } } 这是由于ESLint的规则 但是data()不需要使用此(仅在非常罕
从“Vue属性装饰器”导入{Component,Prop,Vue}
从“@/constants/links”导入{MOON_HOLDINGS_LINK,TWITTER_LINK}
@组成部分
导出默认类HelloWorld扩展Vue{
@Prop()私有标题!:字符串
data():任何{
返回{
月亮链接:月亮链接,
}
}
}
这是由于ESLint的规则
但是data()
不需要使用此
(仅在非常罕见的情况下)
因此,您可能应该抑制该特定方法的警告,因为我认为data()
符合以下描述的场景:
例如,您可能有一个来自外部库的规范,该规范要求您将方法作为常规函数(而不是静态方法)覆盖,并且在函数体中不使用this
因此,您可以使用:
/*eslint类方法使用以下内容:[“error”,{“exceptMethods”:[“data”]}]*/
例如:
从“Vue属性装饰器”导入{Component,Prop,Vue}
从“@/constants/links”导入{MOON_HOLDINGS_LINK,TWITTER_LINK}
@组成部分
导出默认类HelloWorld扩展Vue{
@Prop()私有标题!:字符串
/*eslint类方法使用:[“error”,{“exceptMethods”:[“data”]}]*/
data():任何{
返回{
月亮链接:月亮链接,
}
}
}
为每个Vue类写出忽略注释会很烦人。可能最好是在.eslintrc
中填充覆盖,或者仅在linter中填充。您可以在基本配置中覆盖它。如果尚未使用,还可以使用来帮助使用指令和样式指南:)谢谢@JohnRuddell!是的,静态也解决了这个问题,但我也不需要data()方法中的这些变量!我不知道那是你:D@JohnRuddell伙计,呵呵,最近怎么样?顺便说一句,在React/Typescript lmk中构建这个你认为的:哈哈,我很久以前就从那个地方搬来了!我们应该找个时间赶上:)我今晚去看看
<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>