--- pageClass: rule-details sidebarDepth: 0 title: vue/no-side-effects-in-computed-properties description: disallow side effects in computed properties since: v3.6.0 --- # vue/no-side-effects-in-computed-properties > disallow side effects in computed properties - :gear: This rule is included in the following preset configs: - `*.configs["flat/essential"]` - `*.configs["flat/vue2-essential"]` - `*.configs["flat/strongly-recommended"]` - `*.configs["flat/vue2-strongly-recommended"]` - `*.configs["flat/recommended"]` - `*.configs["flat/vue2-recommended"]` - `"plugin:vue/essential"` - `"plugin:vue/vue2-essential"` - `"plugin:vue/strongly-recommended"` - `"plugin:vue/vue2-strongly-recommended"` - `"plugin:vue/recommended"` - `"plugin:vue/vue2-recommended"` ## :book: Rule Details This rule is aimed at preventing the code which makes side effects in computed properties and functions. It is considered a very bad practice to introduce side effects inside computed properties and functions. It makes the code not predictable and hard to understand. ```vue ``` ```vue ``` ```vue ``` ```vue ``` ## :wrench: Options Nothing. ## :books: Further Reading - [Guide - Computed Caching vs Methods](https://vuejs.org/guide/essentials/computed.html#computed-caching-vs-methods) ## :rocket: Version This rule was introduced in eslint-plugin-vue v3.6.0 ## :mag: Implementation - [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/no-side-effects-in-computed-properties.js) - [Test source](https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/no-side-effects-in-computed-properties.test.ts)