【review】vue 组件

vue  组件
因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,
例如 data、computed、watch、methods 以及生命周期钩子等。
仅有的例外是像 el 这样根实例特有的选项。
组件可以进行进行任意次数的复用
使用 v-bind 来动态传递 prop
通过 v-on 监听子组件实例的任意事件,同时子组件可以通过调用内建的 $emit 方法触发该事件

close(){
	this.$emit('closeCollectRecordInfo'); //子组件调用父组件方法
	this.operForm = {}
},


使用 $emit 的第二个参数来抛出返回值
Vue 自定义的 <slot> 元素使得组件里面还可以显示节点
通过 Vue 的 <component> 元素加一个特殊的 is 特性实现不同组件得绑定

Vue.component("",{}); // 组件全局注册

 

// CollectRecordInfo.vue 组件编写
<template></template>
<style lang="scss"></style>
<script>
    export default {
        props:[],//通过 Prop 向子组件传递数据
        data(){}, // data 必须是函数  没有 el选项
        computed:{},
        watch:{},
        methods:{},
    }
</script>
//  main.vue 主页面
// .vue 组件编写
<template>

// 组件调用
<!-- vue 组件  import  components注入 -->
<CollectRecordInfo ref="collectRecordInfo"
                   :flag="compshowFlag"
                   @closeCollectRecordInfo="compshowFlag =false"
                   @reload="reload"/>
                   
</template>
<style lang="scss"></style>
<script>
    import CollectRecordInfo from './components/collectRecordInfo'
    export default {
        name:'',
        components:{'CollectRecordInfo'} // 组件局部注册
        data(){}, // data 必须是函数  没有 el选项
        props:[],//通过 Prop 向子组件传递数据
        computed:{},
        created(){},// 通常用于初始化数据
        watch:{},
        methods:{},
    }
</script>

 

vue  ref
vue中的ref其实功能很强大
this.$refs.testDom // 获取页面中 dom 元素
this.$refs.hello.msg //标记组件,调用组件方法/data 

 

//详情
openCollectRecordInfo(data){
  //避免影响源数据
  let opt = Object.assign({},data);
  this.$refs.collectRecordInfo.initModel(opt); // 父组件调用子组件得方法
  this.compshowFlag = true;
},

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值