Vue 生命周期

  • beforeCreate (组件实例刚被创建,组件属性计算之前,如 data 属性等)
  • created (组件实例创建完成, 属性已绑定,但 DOM 还未生成, $el 属性不存在)
  • beforeMount-比佛毛特儿 (模版编译/挂载之前)
  • mounted-某儿得 (模版编译/挂载之后-不保证组件已在 document 中)
  • beforeUpdate (组件更新之前)
  • updated (组件更新之后)
  • activated (for keep-alive 组件被激活时被调用)
  • deactivated-滴阿克味得 (for keep-alive 组件被移除时调用)
  • deforeDestory-滴佛丝得瑞 (组件销毁前调用)
  • destoryed-滴丝尊儿 (组件销毁后调用)

Vue 钩子函数

  • methods-马甚丝 (对象中定义方法)
  • computed (计算属性)

Vue 组件通信

父组件和子组件通信

  • props-破软丝 (传值)
  • ref-瑞府 (调用子组件的方法)
// 子组件
<div>
<p class="title">{{ title }}</p>
</div>
export default {
props: {
title: {
type: String,
default: "",
},
},
methods:{
show(data){
console.log('----', data)
},
}
};
// 父组件
<MenuNav :title="title" ref="MenuNav"</MenuNav>
<p @click="show">显示</p>
import MenuNav from "@components/MenuNav/MenuNav.vue";
export default {
data(){
return{
title:"这是父组件得值"
}
},
methods:{
show(){
this.$refs.MenuNav.show('id')
}
} }

子组件和父组件通信

  • props-破软丝
  • $parent-佩润特
  • $emit 是手动触发当前实例上的一个指定事件。
  • $on 是用来在监听(注册)自定义事件的。
// 父组件
<MenuNav :parentHide="parentHide" @getParent3="getParent3"></MenuNav>
import MenuNav from "@components/MenuNav/MenuNav.vue";
export default {
data(){
return{
title:""
}
},
methods:{
parentShow(){
console.log('-----父组件的方法1')
},
parentHide(){
console.log('------父组件的方法2')
},
getParent3(data){
console.log("------这是父组件的方法3", data);
}
} } // 子组件
<div>
<p class="title"></p>
<button @click="show"></button>
<button @click="hide"></button>
<button @click="getParent3">调用父组件的方法3</button>
</div>
export default {
props: {
parentHide: {
type: Function,
default: ()=>{},
},
},
methods:{
show(){
this.$parent.parentShow()
},
hide(){
this.parentHide()
},
getParent3() {
this.$emit("getParent3", "这是子组件的值");
},
}
};

不相干的组件

使用 vuex

Vuex 使用

第一步在 store 增加方法

import Vue from "vue";
import Vuex from "vuex"; Vue.use(Vuex); export default new Vuex.Store({
state: {
name: "默认名字",
},
// 格的儿丝
getters: {
name: (state) => state.name,
},
// 莫特甚丝
mutations: {
setName(state, data) {
state.name = data;
},
},
actions: {
changeName({ commit }, data) {
commit("setName", data);
},
},
modules: {},
});

第二步 在需要改变的地方监听

import { mapGetters } from "vuex";
// computed 是计算属性,只要有值改变就会触发
computed: {
...mapGetters({
name: "name",
}),
},

第三步调用

<button @click="changeStoreName">改变name</button>

changeStoreName() {
// dispatch-得丝败切
this.$store.dispatch("changeName", "通过vue传");
},

vue-router 钩子函数(路由拦截)

全局的钩子函数

  • (之前)beforeEach(to,from,next) 每次每一个路由改变的时候都得执行一遍。
  • (每次之后)afterEach(to,from,next) 每次页面加载之后

单个的路由钩子函数

  • (之前)beforeEnter (to,from,next)设置单个路由钩子函数

组件内的导航钩子

  • beforeRouteEnter (to,from,next) 进入这个组建路由之前
  • beforeRouteUpdate (to,from,next)离开这个组建路由
  • beforeRouteLeave (to,from,next) 再本路由的下级路由切换才会触发
const Foo = {
template: `...`,
beforeRouteEnter (to, from, next) {
// 在渲染该组件的对应路由被 confirm 前调用
// 不!能!获取组件实例 `this`
// 因为当钩子执行前,组件实例还没被创建
},
beforeRouteUpdate (to, from, next) {
// 在当前路由改变,但是该组件被复用时调用
// 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
// 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
// 可以访问组件实例 `this`
},
beforeRouteLeave (to, from, next) {
// 导航离开该组件的对应路由时调用
// 可以访问组件实例 `this` }

Vue2.x 常用功能和方法的更多相关文章

  1. Burpsuite神器常用功能使用方法总结

    Burpsuite介绍: 一款可以进行再WEB应用程序的集成攻击测试平台. 常用的功能: 抓包.重放.爆破 1.使用Burp进行抓包 这边抓包,推荐360浏览器7.1版本(原因:方便) 在浏览器设置代 ...

  2. python3 os模块的常用功能及方法总结

    1.os.getcwd()     #显示当前工作路径 2.os.listdir('dirname')    #返回指定目录下的所有文件和目录名 3.os.remove('filename')     ...

  3. C# string 常用功能的方法扩展

    #region Usings using System; using System.Text; using System.Data; using System.Data.SqlClient; usin ...

  4. Keil的使用方法 - 常用功能(二)

    Ⅰ.概述 上一篇文章是总结关于Keil使用方法-常用功能(一),关于(文件和编译)工具栏每一个按钮的功能描述和快捷键的使用. 我将每一篇Keil使用方法的文章都汇总在一起,回顾前面的总结请点击下面的链 ...

  5. Keil的使用方法 - 常用功能(一)

    Ⅰ.概述 学习一门软件的开发,开发工具的掌握可以说尤为重要.由于Keil集成开发工具支持多种MCU平台的开发,是市面上比较常见的,也是功能比较强大一款IDE.所以,对于大多数人说,选择Keil几乎是单 ...

  6. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  7. NSwag.AspNetCore常用功能介绍

    对于asp.net core 下的Swagger,之前一直用Swashbuckle的,因为官方推荐,再加上有老张的博客助力<从壹开始前后端分离[ .NET Core2.0/3.0 +Vue2.0 ...

  8. [转]WebPack 常用功能介绍

    概述 Webpack是一款用户打包前端模块的工具.主要是用来打包在浏览器端使用的javascript的.同时也能转换.捆绑.打包其他的静态资源,包括css.image.font file.templa ...

  9. FastReport.Net 常用功能总汇

    一.常用控件 文本框:输入文字或表达式 表格:设置表格的行列数,输入数字或表达式 子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表.系统在打印处理时,先按主报表打印,当碰到 ...

  10. python3 字符串与列表常用功能

    一.字符串常用功能 1. capitalize(),将字符串的首字母变成大写,其余全部置为小写:如果字符串中有多个单词,也只是将第一个单词的首字母置为大写:例: >>> name = ...

随机推荐

  1. B站基于Apache DolphinScheduler的一站式大数据集群管理平台(BMR)初窥

    一.背景 大数据服务是数据平台建设的基座,随着B站业务的快速发展,其大数据的规模和复杂度也突飞猛进,技术的追求也同样不会有止境. B站一站式大数据集群管理平台(BMR),在千呼万唤中孕育而生.本文简单 ...

  2. 恭喜又一白鲸开源成员成为 Apache SeaTunnel PMC Member

    个人简介 王海林 白鲸开源研发工程师 GitHub ID:hailin0 做过性能监控.数据开发平台等,目前聚焦在数据集成同步及其周边生态的研发 问:作为白鲸开源的一员,您为社区做出过哪些贡献?具体方 ...

  3. 图片热区。vue3+ts和vue3+js写法(js没写完数据,功能完善)

    废话不多说,上代码 vue3+ts <!-- 热区组件 --> <template> <el-dialog v-model="dialog_visible&qu ...

  4. 短视频SDK 视频编辑SDK AE模版SDK 人体抠图SDK 绿幕抠图SDK

    优势:  快速接入免费试用名称:  短视频SDK品牌:  蓝松SDK特色:  一站式视音频解决方案 杭州蓝松科技有限公司,多年来一直专注于音视频领域核心技术的研发.核心研发团队掌握的行业领先技术,目前 ...

  5. win10无法访问共享文件夹win2008R2 错误代码0X80004005

    错误代码0X80004005 无法访问共享计算机的解决方法 开始->运行(快捷键"win+R"),输入"regedit"后回车,打开注册表编辑器. 依次打 ...

  6. Make 使用

    GNU Make 参考:Make 命令教程 | 阮一峰的网络日志 Makefile 文件的格式 Makefile 文件由一系列 规则(rules)构成.每条 规则 的形式如下. <target& ...

  7. 爬虫案例1-爬取图片的三种方式之一:DrissionPage篇(3)

    @ 目录 前言 DrissionPage介绍 实战 共勉 博客 前言 继requests篇和selenium篇,本文是爬取图片的最后一个案例,利用了python第三方库DrissionPage来自动化 ...

  8. 携手华为云WeLink,合合信息旗下名片全能王推动人脉管理数智化升级

    名片是商务场景中信息传递的重要载体.在无纸化办公日益兴盛的当下,数字名片逐渐被广大职场人士接受,成为商务交流的新方式.近期,合合信息旗下名片全能王与华为云WeLink联合研发,升级数字名片" ...

  9. CSS – Transform

    前言 之前写的 W3Schools 学习笔记 (3) – CSS 2D Transforms. 这篇作为整理. 参考: Youtube – Learn CSS Transform In 15 Minu ...

  10. Asp.net core 学习笔记之 Microsoft Graph API

    早年如果我们要读写用户得 outlook 内容是比较麻烦的, 要用许多 smtp 之类的方式. 现在终于是有了 http 级的 API 可以 call 了. 不仅仅是 outlook, calenda ...