#vue.js #vuejs3
Вопрос:
Я создаю приложение vue3, которое создается следующим образом:
<div id="my-app" data-string="demo"></div>
<script src=my-app.js></script>
Мне data-string
нужно задать значение глобальной переменной, доступной для всех моих компонентов, или способ чисто получить это значение и передать его всем моим компонентам. Я использую Vue 3 с машинописным текстом. Я перепробовал несколько вещей и не могу этого понять. Любая помощь была бы очень признательна. Спасибо!
Комментарии:
1. Хорошо, если вы «создаете приложение vue», действительно ли эти данные должны быть сначала инициированы внутри атрибута данных HTML. И не наоборот, как это предполагается при разработке приложений vue?
2. Также найдите «vue обмениваться данными между компонентами», вы можете обмениваться данными с вашего my-app.js к любому компоненту. Или поищите, что такое «магазин vue».
Ответ №1:
Чтобы это сделать, вы можете сделать что-то вроде этого
Сначала получите значение
const globalScopeValue = document.getElementById('my-app').dataset.string
ПРЕЖДЕ чем вы создадите свое приложение Vue!
Затем в вашем приложении.vue (основной компонент) используйте Provide.
Затем используйте инъекцию в каждый другой компонент, который вам нужен globalScopeValue
.
Комментарии:
1. Привет, Адам, это первое утверждение возвращается неопределенным, когда я его пробую. Я попробовал в своем файле main.ts и главном компоненте App.vue. Тем не менее, материал для обеспечения/введения выглядит хорошо! Есть какие-нибудь идеи по первой части?
2.Попробуйте подождать, пока загрузится окно, затем возьмите
data
изdataset
, а затем запуститеvue
app
. Дайте мне знать, если это помогло 😉