【发布时间】:2017-08-05 09:39:11
【问题描述】:
我正在尝试在另一个组件中使用一个组件。在created 事件中,我可以记录此组件并返回正确的对象。但是由于某些原因,该组件似乎不包括在内。 VueJS 不理解validation 标签。
有什么想法吗?
<template>
<main>
<validation :validate="$v.email" :model="'email'"></validation>
</main>
</template>
<script>
import { Validation } from 'components/helpers'
export default {
name: 'login',
component: { Validation },
created() {
// it works. print the component with his path
window.console.log(Validation)
}
}
</script>
[Vue 警告]:未知的自定义元素:- 你注册了吗 组件正确吗?对于递归组件,请确保 提供“名称”选项。
在components/helpers我有两个文件:
1) index.js
export { default as Validation } from './Validation'
2) Validation.vue
<template>
<div>
<span class="form__validation" v-if="validate && !validate.required">Required</span>
<template v-if="validation[model]">
<span class="form__validation" v-for="error in validation[model].messages">{{ error }}</span>
</template>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
name: 'validation',
data() {
return {
L: L
}
},
props: ['model', 'validate'],
computed: {
...mapGetters({
validation: 'getValidation'
})
}
}
</script>
【问题讨论】:
-
在您的第一个代码示例中,您使用
component: {}(单数)而不是components: {}(复数)注册验证组件 - 这可能是问题吗?
标签: vue.js vuejs2 vue-component