背景
今天在做一个小项目的时候发现了外部JS无法使用this的问题(this是undefined)。神奇的是,另一个外部JS文件中却可以使用this。而两个模块文件中都用了<script setup>标签,要引用的属性也都定义了但就是有一个JS文件的this一直是undefined。
解决方法
其实就是调用函数时语法不标准导致的。
在使用<script setup>时,如果要使用函数必须加上()否则就会导致this是undefined的问题。
之所以会发生这种问题是因为之前的不良习惯导致的。在只使用<script>的时候,没有参数的函数可以不用写()。之前一直觉得没有什么问题,功能也正常,但今天吃了亏。所以一定要遵循语法标准,函数就要有()不要抱着侥幸心理。