vue 学习小结(生命周期和组件传值)

vue 学习小结(生命周期和组件传值)

最近需要用到 vue 框架的项目,所以又去学习了 vue,这里简单做个小结,讲一讲 vue 2.0 的生命周期和组件传值,适用于阅读 vue 文档后。

一、生命周期

官方流程图:

在这里插入图片描述

例子:

var vm = new Vue({
    el: '#app',
    data: {
      message: 'Vue的生命周期'
    },
	......(各个生命周期)
}

运行图:

在这里插入图片描述

更新后:(改变data)

在这里插入图片描述

  • beforeCreate:( 组件实例刚被创建,组件属性计算之前,$el data没有初始化)

  • created:(组件实例创建完成,属性已绑定,data 数据初始化,但是 DOM 未生成,$el 属性不存在 )

  • beforeMount:(模板编译/挂载之前,完成了 $el 和 data 初始化,但是这里的 el 还是 {{message}})

  • mounted:(模板编译/挂载之后, e l 的 位 置 变 成 m e s s a g e 的 值 ) 这 里 有 个 t h i s . el 的位置变成 message 的值)这里有个this. elmessagethis.nextTick方法,适用于想操控真实 DOM(因为有时 mounted 会出现渲染未完成就执行方法)

      mounted () {
      	this.init();
          this.$nextTick(function(){
          	this.doA(1);//DOM 操作
          	this.doB();//DOM 操作
          })
      }
    
  • beforeUpdate:(组件更新前)

  • updated:(组件更新后)

  • beforeDestroy:(组件销毁前)

  • destroyed:(组件销毁后)

二、传值

(1)组件传值

1.父子传值

父:

<header :value='message'  :url = "Url"><header/>

子:

export default {
	name:'header',
	props: {
      value: {
        default: '',
        type: String
      },
	url: {
        default: 'http://...',
        type: String
      },
	}
}

2.子父传值

父:

<header @child-event="console"><header/>

...
methods:{
	console('子组件传递给父组件内容'){
		...
	}
}

子:

this.$emit('child-event','子组件传递给父组件内容')

3.兄弟传值(事件总线 Event Bus)

4.vuex

(2)路由传值

组件A:

this.$router.push({ path: '/conponentsB', query: { orderId: 123 } })

组件B:

获取 this.$route.query.orderId 的值
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值