Skip to content

mixins() helper issue. Computed methods are lost during inheritance #467

@igorprodev1

Description

@igorprodev1

github repository https://github.com/igorprodev1/vue-class-component-v8-issues

<script lang="ts">
import { Options, Vue, mixins } from "vue-class-component";

@Options({
  computed: {
    m1Computed(){
      return 'm1computed call'
    }
  }
})
class M1 extends Vue {}

@Options({
  computed: {
    m11Computed(){
      return 'm11computed call'
    }
  }
})
class M11 extends mixins(M1) {}

@Options({
  computed: {
    m2Computed(){
      return 'm2computed call'
    }
  }
})
class M2 extends mixins(M11) {}

export default class App extends mixins(M2) {
  get appComputed() {
    return 'app computed'
  }

  mounted () {
    console.log( (this as any).m1Computed)
    console.log( (this as any).m11Computed)
    console.log( (this as any).m2Computed)
    console.log( (this as any).appComputed)
    console.log(this)
  }
}
</script>

Console log:
m1computed call
undefined
undefined
app computed
Proxy {…}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions