Я немного озадачен тем, как заставить Vuetify полностью работать в компоненте Vuepress.У меня это вроде работает, но наткнулся на пару контрольно-пропускных пунктов.Vuetify установлен в моем проекте Vuepress, и я добавил EnhanceApp.js со следующим:
import axios from 'axios'
import moment from 'moment'
import Vuetify from './node_modules/vuetify/dist/vuetify.min.js'
export default ({
Vue, // the version of Vue being used in the VuePress app
options, // the options for the root Vue instance
router, // the router instance for the app
siteData // site metadata
}) => {
Vue.use(axios)
Vue.use(moment)
Vue.use(Vuetify)
}
Внутри моего компонента я изменил метод mount ():
mounted () {
import('../node_modules/vuetify/dist/vuetify.min.js').then(module => {
// this.fetchHotels()
axios.get(this.apiLink + 'continents')
.then(response => {
this.continents = response.data
})
.catch(error => {
console.log(error)
})
})
}
Это то, что предлагается на этой странице документации Vuepress: https://vuepress.vuejs.org/guide/using-vue.html#browser-api-access-restrictions
Это должно обеспечить обходной путь, когда компонент должен получить доступ к DOM.Однако, хотя часть макета Vuetify работает должным образом, всплывающее окно выбора даты (одна из причин, по которой я хотел использовать Vuetify) не отображается в правильном положении и не отформатировано должным образом.На консоли отображается предупреждение:
[Vuetify] Unable to locate target [data-app]
Я предполагаю, что это потому, что компонент пытается получить доступ к DOM, но не может.Эта страница предполагает, что это проблема со средой разработки, но я не могу заставить работать vuepress build.На компоненте происходит сбой.
Error rendering /indonesia/bali/hotels-resorts.html:
Error: render function or template not defined in component: HotelList
Я нашел еще несколько вопросов по этой теме, но ни на один из них, похоже, не было ответа.