@andrei_pro

Как передать экземпляр класса в компоненты?

Всем привет.

Такая структура:

Container.js
export default class Container {
 constructor(container) {
    this.container = container
    this.scale = 1
 }

 setScale(scale) {
    this.scale = scale
 }

  cumulative() {
     return Math.PI
  }

  getCumulativeScale() {
      return this.cumulative() * this.scale
  }
}


-Wrapper.vue
--Container.vue
---Scale.vue
----ScaleWrapper.vue
---Element.vue

Container.vue
<template>
  <div>
   Container
  </div>
</template>

<script>
 import Container from './Container'

 export default {
   mounted() {
      const container = new Container(this.$el)
     
     this.$el.addEventListener('mousedown', (e) => {
         let scale = 1//

         container.setScale(scale)
     })
  },
  methods: {}
 }
</script>


В переменной container экземпляр класса Container.
Далее мне нужно этот container использовать во всех компонентах (к примеру брать getCumulativeScale()) , как его пробросить (без миксинов и статических методов)?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 3
Kozack
@Kozack Куратор тега JavaScript
Возможно вам подойдёт плагин: https://ru.vuejs.org/v2/guide/plugins.html
Или вот: https://ru.vuejs.org/v2/api/#provide-inject
Ответ написан
zabudkin
@zabudkin
Инженер-системотехник, программист, админ, ТПУ!!!!
export const container = new Container(this.$el)
Ответ написан
@OniVe
Для использования общих/наследуемых компонентов, необходимо использовать примеси (mixins).

- Использование примесей (mixins)
- С помощью декораторов
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы