Как переопределить глобальную переменную в vue.js? - PullRequest
0 голосов
/ 23 декабря 2018

Прежде всего, похоже, что эта ситуация идеально подходит для использования eventBus, но я просто экспериментирую.То, что я чувствую, будет элементом процесса генерации и захвата события.

Скажите, что в моем main.js я объявил:

Vue.prototype.$someHeight = 200

в некоторых компонентах, которые я пытался изменитьto:

this.$someHeight = 300

Но когда я использую его в своем vue, он все равно говорит: {{$ someHeight}} // output: 200, и я ожидал 300

Итак, какпереопределить это?Это хорошая практика?

1 Ответ

0 голосов
/ 23 декабря 2018

Каждый компонент Vue является экземпляром Vue.Когда вы определяете переменную (например, $ someHeight) в прототипе Vue, все новые созданные компоненты получат свою собственную копию такой переменной.

Что означает, что каждый компонент Vue будет иметь свою собственную копию$ someHeight со значением 200. Теперь, даже если вы установите его значение равным 300, все остальные компоненты будут иметь старое значение 200.

Это не очень хорошая практика.Вы должны определять функции только для прототипа: Vue Doc

Теперь вы можете использовать Vuex для этого или создать глобальный экземпляр Vue и использовать его для хранения ваших глобальных переменных.Vuex рекомендуется, конечно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...