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. k8s pvc扩容

    #查看是否支持扩容 $ kubectl get sc ** -o yaml ··· allowVolumeExpansion: true #拥有该字段表示允许动态扩容 ··· #找到需要扩容的pvc ...

  2. QGroupBox自定义样式(仿DotNetBar)

    QSS如下: QGroupBox { border:1px solid gray; border-radius:5px; margin-top:3ex; font-size:10pt; color:# ...

  3. One-for-All:上交大提出视觉推理的符号化与逻辑推理分离的新范式 | ECCV 2024

    通过对多样化基准的严格评估,论文展示了现有特定方法在实现跨领域推理以及其偏向于数据偏差拟合方面的缺陷.从两阶段的视角重新审视视觉推理:(1)符号化和(2)基于符号或其表示的逻辑推理,发现推理阶段比符号 ...

  4. Python 字符串格式化输出

    数字 n: int = 1000000000 print(f'{n:_}') # 1_000_000_000 print(f'{n:,}') # 1,000,000,000 对齐 var: str = ...

  5. 【Python】之pip安装第三方库失败

    一直报错:Could not fetch URL https://pypi.org/simple/pygame/: There was a problem confirming the ssl cer ...

  6. [kubernetes]使用kubeadm和containerd部署kubernetes

    前言 因宿主机内核版本限制和垂直伸缩特性的需要,安装的k8s版本为1.25,runtime为containerd,cni为calico. containerd.kubeadm.kubelet也可以用包 ...

  7. Java并发之原子变量及CAS算法-下篇

    Java并发之原子变量及CAS算法-下篇 概述 本文主要讲在Java并发编程的时候,如果保证变量的原子性,在JDK提供的类中是怎么保证变量原子性的呢?.对应Java中的包是:java.util.con ...

  8. 【YashanDB知识库】存储过程报错snapshot too old

    问题描述 20231127上午客户反馈绩效系统20231125.20231126出现2次YAS-02020 snapshot too old的问题,测试也有类似问题. 该过程是客户新增的存储过程,目的 ...

  9. opencv equalizeHist

    ''' What are histograms? Histograms are collected counts of data organized into a set of predefined ...

  10. Windows远程设置''不可复制''的权限

    起因: 有一个技术部门的同事需要远程其他同学的电脑进行操作,但是不允许他复制目标电脑上的文件,避免造成资料外泄 解决办法: 组策略编辑器中,设置 计算机配置 -> 管理模板 -> wind ...