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. DolphinScheduler日志乱码、worker日志太多磁盘报警、版本更新导致不兼容怎么办?

    作者 | 刘宇星 本文作者总结了在使用Apache DolphinScheduler过程中遇见过的常见问题及其解决方案,包括日志出现乱码.worker日志太多磁盘报警.版本更新导致不兼容问题等,快来看 ...

  2. 跨越时空的对话:如何使用AI阅读工具ChatDOC快速建立数字化身?

    跨越时空的对话:如何使用 ChatDOC 快速建立数字化身?以史蒂夫·乔布斯 AI 为例 开门见山,这篇文章主要介绍如何将 AI 改造为靠谱.好用.基于某个人物的数字化身.比如,乔布斯 AI.马斯克 ...

  3. Spring Security入门教程 通俗易懂 超详细 【内含案例】

    Spring Security的简单使用 推荐 Java 常见面试题 简介 SSM 整合 Security 是比较麻烦的,虽然Security的功能比 Shiro 强大,相反却没有Shiro的使用量多 ...

  4. python学习(一)django orm多表查询

    ###多表查询 一般的多表查询都是直接建立一个多对多关系 class Books(models.Model): users = models.ManyToManyField(User, related ...

  5. 一文教你如何用C代码解析一段网络数据包?【含代码】

    本文的目的是通过随机截取的一段网络数据包,然后根据协议类型来解析出这段内存. 学习本文需要掌握的基础知识: 网络协议 C语言 Linux操作 抓包工具的使用 其中抓包工具的安装和使用见下文: < ...

  6. .NETCORE 下使用 NLog

    NLog帮助类 1 public enum LogType 2 { 3 [Description("网站")] 4 Web, 5 [Description("数据库&qu ...

  7. Oracle——navicat连接Oracle数据库报错(12514)

    2024/07/22 1.问题描述 2.解决办法 3.参考材料 1.问题描述 与其他厂商做数据对接时,对方提供相关视图,我navicat连接Oracle数据库时报错,其报错代码如下: ORA-1251 ...

  8. Terraform中的for_each和count

    通过Terraform创建云主机时,在某些业务场景下,一个机器需要挂载多个云盘,一般云厂商都是单独创建云主机和云硬盘然后通过attachment的资源去挂载,因此我们的模板大致如下: resource ...

  9. Ubuntu 设置远程桌面(RDP)

    安装桌面环境 如果你的 Ubuntu 还没有安装桌面环境,可以选择以下之一安装: GNOME GNOME 是 Ubuntu Desktop 原生桌面环境. # 安装基本的 GNOME 桌面环境 sud ...

  10. 随机读取数组中n个元素

    需求 随机不重复的显示一系列图片 分析 可使用Math.random(),其作用是返回介于 0(包含) ~ 1(不包含) 之间的一个随机数.先获取到图片路径,将图片路径放入数组中,再随机从数组中读取n ...