Skip to content

Instantly share code, notes, and snippets.

@Siwaaa
Forked from zmts/vue.js.md
Created January 25, 2021 18:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Siwaaa/5ab304e49d64990c960e78f031cc7046 to your computer and use it in GitHub Desktop.
Save Siwaaa/5ab304e49d64990c960e78f031cc7046 to your computer and use it in GitHub Desktop.
Доступ к Computed свойствам из Data (Vue.js)

Доступ к Computed свойствам из Data (Vue.js)

Wrong

<script>
  export default {
    name: 'SomeComponent',
    data () {
      return {
        foo: this.hello
    },
    computed: {
      hello () {
        return 'hello'
      }
    }
  }
<script>
// foo >> undefined

Good

<script>
  export default {
    name: 'SomeComponent',
    data () {
      return {
        foo: ''
    },
    computed: {
      hello () {
        return 'hello'
      }
    },
    mounted () {
      this.item.hello = this.hello
    }
  }
<script>
// foo >> 'hello'

Во время инициализации компонента первой инициализируется data, после нее все остальное. А поскольку в момент инициализации data computed свойства еще не существуют то из data ми к ним достучатся не сможем. По этому делаем присвоение computed свойства в data делаем в mounted хуке

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment