javascript - 如何正确全局注册和使用 Vue Rangedate Picker 组件?
问题描述
我正在尝试使用VueRangedatePicker,但我似乎无法弄清楚如何在其他一些 vue 组件的模板上使用它。我正在使用 Webpack。我已经在我的 main.js 文件中注册了组件/插件,如下所示:
import Vue from 'vue'
import App from './App'
import router from './router'
import { store } from './store/store'
import firebase from './firebase-config'
import vuefire from 'vuefire'
//////////////// HERE
import VueRangedatePicker from 'vue-rangedate-picker' // importing the plugin here
Vue.use(VueRangedatePicker) // using it
Vue.component('VueRangedatePicker', { }) // creating the component globally (if I don't add this line the app complains the component is not registered
////////////////
Vue.config.productionTip = false
let app;
Vue.use(vuefire)
firebase.auth().onAuthStateChanged(function(user){
if (!app) {
/* eslint-disable no-new */
app = new Vue({
el: '#app',
template: '<App/>',
components: { App, VueRangedatePicker },
router,
store,
VueRangedatePicker
})
}
})
然后在我的组件 component_A.vue 上,我再次以以下方式导入 VueRangedatePicker 插件:
<template>
<div>
<vue-rangedate-picker @selected="onDateSelected" i18n="EN" />
</div>
</template>
<script>
import firebase,{ itemRef } from '../firebase-config';
import VueRangedatePicker from 'vue-rangedate-picker'
export default {
firebase() {
return {
items: itemsRef,
}
},
name: 'component_A',
data () {
return {
}
},
created() {
console.log(VueRangedatePicker);
},
methods: {
onDateSelected: function (daterange) {
this.selectedDate = daterange
},
}
</script>
我知道插件/组件已注册,因为当我在控制台上记录 Vue Rangedate Picker 时,我可以看到该对象
我已经在项目的 github 上阅读了完整的 readme.md 文件,但我仍然感到困惑。什么是 Vue_Daterange_picker?是插件吗?它是一个组件吗?它是一个允许我构建组件的插件吗?我很困惑。你能更好地为我澄清一下吗?我怎样才能使这项工作?
解决方案
这是因为您使用空名称注册了组件。在 main.js 中:
Vue.component('DatePicker', VueRangedatePicker)
然后在您的组件中将组件用作:
<date-picker></date-picker>
推荐阅读
- jquery-ui - 为什么我的 onSelect 事件不会被触发
- css - grid-auto-columns 在 Firefox 中不能完全工作
- javascript - 如何在 TypeScript 中打破 ForEach 循环
- canvas - 克隆画布并替换覆盖图像
- java - Mongodb,只查找所有最新的映射记录
- python - 重定向 FD 后如何写入标准输出
- c# - DataTable Column CaseSensitive in Turkey
- sql - part of field is a date...sometimes
- c# - 将 Visual Studio 输出到单个 exe
- javascript - angular-cli 项目中 fluent-ffmpeg 插件的问题