vue/no-deprecated-data-object-declaration Correctness
作用
禁止在 data 中声明对象(在 Vue.js 3.0.0+ 中)。
为什么这不好?
在 Vue 3 中,将 data 声明为对象会导致同一个对象在组件的每个实例之间共享,从而引发跨实例状态污染。data 必须是一个函数,返回每个实例各自的新对象。
示例
下面是此规则的错误代码示例:
vue
<script>
export default {
data: {
foo: "bar",
},
};
</script>下面是此规则的正确代码示例:
vue
<script>
export default {
data() {
return { foo: "bar" };
},
};
</script>如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"plugins": ["vue"],
"rules": {
"vue/no-deprecated-data-object-declaration": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["vue"],
rules: {
"vue/no-deprecated-data-object-declaration": "error",
},
});bash
oxlint --deny vue/no-deprecated-data-object-declaration --vue-plugin版本
此规则于 v1.62.0 中添加。
