vue中组件和插件有什么区别?
- 回答思路:组件是什么?-->插件是什么?-->组件和插件的区别?-->他们的使用场景?
- 组件是什么?
- 组件的优势:
- 插件是什么?
- 组件和插件的区别?
- 1.编写形式的区别:
- 2.注册形式的区别:
- 3.使用场景的区别:
回答思路:组件是什么?–>插件是什么?–>组件和插件的区别?–>他们的使用场景?
组件是什么?
把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式,在vue中每一个.vue文件都可以视为一个组件
组件的优势:
1.降低整个系统的耦合度,组件可复用,在保持接口不变的情况下,我们可以替换不同组件快速完成需求
2.调试方便,因为组件职责单一
3.可维护性高
插件是什么?
常用来为vue添加全局功能。
常用的插件:
1.添加全局方法或属性:如vue-custom-element
2.添加全局资源,如指令、过滤器、过渡等:如vue-touch(用于在移动设备上处理触摸事件的库)
3.添加vue实例方法,通过把他们添加到vue.prototype上实现
4.一个库,提供自己的API,同时提供上面提到的一个或多个功能,如vue-router
组件和插件的区别?
1.编写形式的区别:
组件:
<template></template>
<script>export default{}
</script>
<style></style>
插件:
myplugin.install = function(Vue,options){Vue.myGlobalMethod = function(){//全局方法}Vue.directive('my-directive',{//添加全局资源})Vue.mixin({//注入组件选项created:function(){}})//添加实例方法Vue.prototype.$myMethod = function(methodOptions){}
}
2.注册形式的区别:
组件:
//全局注册
Vue.component('my-component-name',{})
//局部注册
const component1 = {}
export default{components:{comnponent1}
}
插件:
Vue.use(插件名字,{})
3.使用场景的区别:
组件:
用来构成你的App业务模块,它的目标是App.vue
插件:
用来增强你的技术栈的功能模块,它的目标是Vue本身