Задать вопрос
dilikpulatov
@dilikpulatov
веб-программист

Как сделать глобальные переменные и метод в VueJs2?

Здравствуйте!
В Вю как сделать глобальные переменные и метод или как использовать свою методы или переменные в любом компоненте?
например у меня есть в main.js
new Vue({
	el: '#app',
	data:{
		globalVar: 'my variable',
	},
	methods:{
		myGlobalMethods(){
			// code
		}
	}
});

как я могу использовать globalVar и myGlobalMethods где угодно?
и ещё у меня в App.vue стоить такое же переменные и методы, как я могу их использовать в любом компоненте чтобы занова не писать? (а так же могу изменить значения переменные в другой компоненте?)
  • Вопрос задан
  • 13241 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
@Artem0071
Безработный mr. Junior
Ответ написан
Комментировать
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Можно вообще вот так организовать:

Файл хранилища:
// store.js
export default {
    a: 'foo',
    b: 'bar'
}


Внедрение хранилища во Vue:

import Vue from 'vue'
import Store from './store'

new Vue({
  el: '#app',
  data: Store,
  render: h => h(App)
})


Обращение в любом компоненте:

<template>
    <div>{{$root.a}}</div>
</template>

<script>
import Store from './store'
export default {
  name: 'app',
  methods: {
    test () {
      this.$root.a = 'something value' 
    }
  }
}
Ответ написан
Комментировать
@iaskivsky
this.$root.globalVar в любом компоненте
Ответ написан
dilikpulatov
@dilikpulatov Автор вопроса
веб-программист
итак есть такая идея
создал хелпер файл типа helper.js
export default {
  install(Vue, options) {
    Vue.prototype.$myMethod = function (methodOptions) {
      console.log('hello from my plugin')
    },
    Vue.prototype.getPost = () => {
      console.log("jnfjknfdjkngkjdfngjkndfjg");
    }
  }
}


а потом в main.js
import MyPlugin from './helper'
Vue.use(MyPlugin)

и все....
теперь в любой компоненте можно использовать вот так
5bfd3f1b79510494377794.png
Ответ написан
@nzy
Самое простое:

window.globalVar = "I am global";

И потом в компоненте просто использовать globalVar.
Ответ написан
@MaxVilson
Можно написать функции и переменные при инициализации Vue и обращаться к ним через $root. Например:
@click="$root.myGlobalMethods"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы