我有一个Ionic Vue应用程序,它使用slides
组件在每次转换时修改React属性。相关代码如下:
<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
的data属性。
与其盲目地禁用ESLint规则以允许将this
分配给一个常量,我想知道是否有人能够提供更好/适当的解决方案?
多谢了。
3条答案
按热度按时间inn6fuwd1#
是的,有一个解决方案。您可以在ESlint配置文件中添加以下对象
有关详细信息,请查看TSLint:no-this-assignment
63lcw9qa2#
我也可以通过不使用
data
而使用setup
方法来解决它j0pj023g3#
In
.eslintrc
file on rules key add"@typescript-eslint/no-this-alias": 0
, for example in my case: