Я хочу использовать библиотеку V-Calendar в своем приложении Vuetify. Приложение работало до сих пор, но, к сожалению, мне не удалось правильно установить библиотеку V-Calendar.
Никаких ошибок не отображается, но сайт перестал работать. Он становится полностью белым и ничего не отображается. Я следил за Установка V-Calendar.
1. НПМ
npm install v-calendar
2. v-calendar.js в папке плагинов
main.js
: Создан новый файл ./plugins/v-calendar.js
3. v-calendar.js:
import Vue from 'vue';
import VCalendar from 'v-calendar';
// Use v-calendar & v-date-picker components
Vue.use(VCalendar);
export default new VCalendar({
});
4. main.js:
...
import VCalendar from './plugins/v-calendar';
...
new Vue({
router,
store,
vuetify,
VCalendar,
render: h => h(App)
}).$mount('#app')
Я удалил v-calendar.js
. Я обновил main.js
(см. ответ @pretzelhammer).
/просмотры/Home.vue:
<v-date-picker v-model = "date" />
export default {
name: "Home",
data: () => ({
date: new Date(),
}),
};
К сожалению, календарь не отображается.
v-calender
работает, а v-date-picker
не работает.
v-for = "(item, id) in items" :key = "id"
вместо:
v-for = "item in items" :key = "item"
спасибо @AliHassan, я обновил код, но он все еще не работает.
Получаете ли вы какие-либо ошибки JS на вкладке консоли DevTools? Кроме того, вы используете последнюю версию библиотеки v-calendar?
Да, v-calendar актуален (v2.1.1) и, к сожалению, у меня много ошибок и предупреждение. (см. вопрос)
@pretzelhammer Я исправил все ошибки «String» с помощью new Date().toISOString(). Теперь у меня есть только следующие ошибки, когда я использую v-date-picker: (1) [Vue warn]: ошибка рендеринга: «RangeError: недопустимое значение времени» и (2) RangeError: недопустимое значение времени
Я думаю, проблема в том, что вы используете v-date-picker из vuetify вместо v-calendar: vuetifyjs.com/en/components/date-pickers
Ты прав. Если я использую синтаксис на сайте Vuetify, он работает. Но я хотел бы использовать V-Calendar. Я не понимаю, почему это не работает.
Вероятно, это не работает, потому что и Vuetify, и VCalendar пытаются глобально зарегистрировать компонент v-date-picker
, что не разрешено.
Вы не правильно следовали инструкциям. Все, что вам нужно сделать, это:
1. НПМ
npm install v-calendar
2. main.js
import Vue from 'vue';
import VCalendar from 'v-calendar';
// Use v-calendar & v-date-picker components
Vue.use(VCalendar, {
componentPrefix: 'vc',
});
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app');
И тогда вы сможете использовать компоненты vc-calendar
и vc-date-picker
в любом из ваших шаблонов Vue.
Спасибо. Я удалил v-calendar.js. В main.js у меня теперь есть именно это от вас, а также импорт для vuetify и т. д. В /views/Home.vue у меня есть следующее: <v-date-picker v-model = "date" /> и в данных: date: new Date(), Теперь я снова вижу все на странице, но не вижу календаря.
Пожалуйста, обновите свой вопрос, указав исходный код для /views/Home.vue.
Извините, это мой первый вопрос здесь. Я обновил его.
@KplnMoon Я снова обновил свой ответ, теперь он должен работать для вас.
У меня есть новый вопрос по этой теме, и я был бы рад, если бы вы могли помочь мне и с этим. :) stackoverflow.com/questions/65294969/…
я не думаю, что вам нужно экспортировать экземпляр VCalendar в файл плагина, и вам также не нужно включать VCalendar в конструктор Vue,