【问题标题】:How to Install and Use V-Calendar (vue.js)?如何安装和使用 V-Calendar (vue.js)?
【发布时间】:2021-03-24 09:59:54
【问题描述】:

我想在我的 Vuetify 应用程序中使用 V-Calendar 库。该应用程序到目前为止运行良好,但不幸的是我没有设法正确安装 V-Calendar 库。

没有显示错误,但网站已停止工作。它变成完全白色,没有任何显示。我关注了V-Calendar Installation

我尝试了什么:

1. NPM

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')

编辑 1:

我删除了v-calendar.js。我更新了main.js(参见@pretzelhammer 的回答)。

/views/Home.vue:

<v-date-picker v-model="date" />
export default {
  name: "Home",
  data: () => ({
    date: new Date(),
  }),
};

很遗憾,没有显示日历。 v-calender 有效,但 v-date-picker 无效。

编辑 2:

  • 149 个错误:
    • 示例:
      • [Vue 警告]:避免使用非原始值作为键,而是使用字符串/数字值。
      • [Vue 警告]:检测到重复键:“[object Object]”。这可能会导致更新错误。
      • [Vue 警告]:无效的道具:道具“值”的类型检查失败。预期的数组,字符串,得到日期。在 --->
      • 中找到
      • [Vue 警告]:data() 中的错误:“TypeError:dateString.split 不是函数”。在 --->
      • 中找到
  • 1 警告:
    • [Vuetify] 值必须是字符串,获取日期。在 --->
    • 中找到

更新编辑 2:

  • 我解决了如下两个错误:
    • [Vue 警告]:避免使用非原始值作为键,而是使用字符串/数字值。
    • [Vue 警告]:检测到重复键:“[object Object]”。这可能会导致更新错误。
  • 解决方案:
v-for="(item, id) in items" :key="id"

代替:

v-for="item in items" :key="item"

【问题讨论】:

  • 我认为您不需要在插件文件中导出 VCalendar 实例,也不需要在 Vue 构造函数中包含 VCalendar,
  • 感谢@AliHassan,我更新了代码,但还是不行。
  • 您是否在 DevTools 的控制台选项卡中收到任何 JS 错误?另外,您使用的是最新版本的 v-calendar 库吗?
  • 是的,v-calendar 是最新的(v2.1.1),不幸的是我有很多错误和警告。 (见问题)
  • @pretzelhammer 我用 new Date().toISOString() 修复了所有“字符串”错误。现在我在使用 v-date-picker 时只有以下错误:(1) [Vue warn]: Error in render: "RangeError: Invalid time value" 和 (2) RangeError: Invalid time value

标签: javascript vue.js npm vuejs2 vuetify.js


【解决方案1】:

您没有正确遵循说明。您需要做的就是:

1. NPM

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');

然后您就可以在任何 Vue 模板中使用 vc-calendarvc-date-picker 组件。

【讨论】:

  • 谢谢。我删除了 v-calendar.js。在 main.js 中,我现在拥有来自您的确切信息以及 vuetify 等的导入。在 /views/Home.vue 我有以下内容: 和数据: date: new Date(),现在我可以再次看到页面上的所有内容,但是我没有看到日历。
  • 请使用 /views/Home.vue 的源代码更新您的问题
  • 对不起,这是我的第一个问题。我更新了。
  • @KplnMoon 我再次更新了我的答案,它现在应该适合你了。
  • 我有一个关于这个话题的新问题,如果你也能帮助我,我会很高兴。 :) stackoverflow.com/questions/65294969/…
猜你喜欢
  • 2020-08-22
  • 2019-05-22
  • 2021-07-24
  • 1970-01-01
  • 2021-12-23
  • 2017-07-05
  • 2020-07-18
  • 2019-06-21
  • 1970-01-01
相关资源
最近更新 更多