组件(component)是我们自己扩展的html标签,封装重用的代码
component 是vue.js最强大的功能
定义:
全局定义:Vue.component(组件名,配置对象) 配置对象里必须要有template,在任何实例都可以使用
局部定义:要写在实例的配置里面 components:{组件名:组件对象}
全局定义必须写在局部的前面 也必须要有template
vm是vue的一个实例,也可以理解为组件,是一切组件的根组件;
两个vue组件 父组件可以和子组件拼接起来形成一个完整的组件渲染到页面中
下载 :npm i vue-cli -g 查看版本vue-V
快速生成脚手架 vue init webpack filename(文件夹名字)

.vue 里面有
组件 最重要的是重复使用
父组件给子组件传参:
@1-----在子组件内部用props的属性定义 props:[参数一,参数二,参数三]
@2----- props:{参数一:{type:(string number boolean…定义要的数据类型, required:true||false意思是是不是必须要传的,defalut:默认值)}}
而在父组件中需要在模板标签中 :参数一=“数据” 来传递子组件要的数据 如果数据是字符串需要“ ‘字符串’ ” 这种双引号套单引号的形式写
子组件给父组件传参时或者传送指令时:
第1种 第一步用 this.KaTeX parse error: Expected '}', got 'EOF' at end of input: …的methods:{this.emit(‘事件名’)} 第三步就是找到了同第二步如果已找到就直接在methods:{函数名(){做操作}}
第二种 非父子关系也可以用 和第一种的第一步一样[email protected] 第二步 在入口文件(一般都是main.js)Vue.prototype.bus=new Vue()
最后直接在要操作的组件中created里面this.bus.[email protected](事件名,()=>{}) 这样就不用繁琐的一次次找了 定义函数很麻烦的
父组件向子组件传一个列表 (可以用插槽):
子组件定义 多个插槽可以用name区别
父组件中在模板标签内部

    对应插槽
    动态切换组件 :
    例如:下面换内容 上面teb切换 用上
    <keep-alive include=“组件名(意思就是缓存这个)exclude=“组件名”(意思是除了这个)”> 性能比较高不用一次次的请求
    vue组件定义
    插槽 有新的用法
    渲染页面时 可以在模板标签上v-for 那么对应的组件中就渲染出来数据了 还有props中传过去的参数 下面直接可以用this
    $emit可以直接写在事件上 不用在methods中专门用

    相关文章: