关于组件全局注册的问题

来源:4-11 vee-validate3.x简介

qq_那些荒废流年

2020-06-12 23:35:23

http://img.mukewang.com/climg/5ee3a03309757c9c09080516.jpg老师您好 在vue的文档中写到像图上这种在Vue构造函数中提供一个components选项属于局部注册,我想知道在vue-cli的main.js中这样写将validationprovider作为components的一个参数传进去是属于局部注册还是全局注册?

写回答

6回答

qq_那些荒废流年

提问者

2020-06-17

http://img.mukewang.com/climg/5ee9935009d2839108900524.jpg

1
hq_那些荒废流年
h 还有就是这种写法和渲染函数的写法有差别吗
h020-06-17
共2条回复

qq_那些荒废流年

提问者

2020-06-16

http://img.mukewang.com/climg/5ee8d0b809905b5210160628.jpg

1
hq_那些荒废流年
h 老师我试了一下Vue.component也会报错 说是我使用了运行时版本所以没法编译template,但是为什么我使用组件选项的方式注册ValidationProvider就不可以呀? 我看下源码它也没用template啊 希望老师给个解释
h020-06-16
共2条回复

Brian

2020-06-17

先回答你对于render函数的理解啊:

import App from App.vue

new Vue({  

    el: '#app',  

    template: '<App />',

    components: {
     App,
    }
})

等价于:

import App from App.vue

new Vue({  

    el: '#app',
    render(h) { return h(App) }
})


0

qq_那些荒废流年

提问者

2020-06-17

http://img.mukewang.com/climg/5ee995e209a9035411981406.jpg

0
hq_那些荒废流年
回复
hrian
h 感谢老师! 可能老师比较忙遗漏了我的回复 十分感谢
h020-06-19
共5条回复

Brian

2020-06-17

这个地方有点小失误,可以参考一下组件全局注册的方法,https://cn.vuejs.org/v2/guide/components-registration.html

可以归纳为:

  1. 全局注册:https://cn.vuejs.org/v2/guide/components-registration.html#%E5%85%A8%E5%B1%80%E6%B3%A8%E5%86%8C

    在main.js中注册,可以使用插件的方式Vue.use(需要引用的js中有一个Install方法),或者Vue.component的方式注册。

    所以,是不能在main.js的Vue对象中使用components属性进行注册的。

    需要这么注册:

    Vue.components('组件名', 组件)

  2. 局部注册:https://cn.vuejs.org/v2/guide/components-registration.html#%E5%85%A8%E5%B1%80%E6%B3%A8%E5%86%8C

Vue.component一定要在new Vue()之前使用!


0
hq_那些荒废流年
h 我有看过你发的这些文档内容老师 但是还有一个问题就是好像以前的vue.cli中main.js的配置不是这样写的 我把图片贴在这个问题回复下面了
h020-06-17
共1条回复

Brian

2020-06-14

main.js中这样写将validationprovider作为components的一个参数传进去是属于局部注册还是全局注册?

——main.js这是Vue实例程序的入口,是全局注册的。

你这个一样是挂在了全局的Vue实例的components属性上了啊~~

0
hq_那些荒废流年
h 老师 我自己写了个测试用例,发现没有办法在main.js中通过组件选项的方式注册全局组件,我把截图发这个提问下面了。
h020-06-16
共3条回复

0 学习 · 1842 问题

查看课程