Vue 基础知识

1. vue 生命周期函数(详细查看:Vue实例的生命周期(钩子函数)

有 10 个钩子,对应 5 个动作:

  • create(创建)
  • mount(vdom挂载)
  • update(数据更新导致dom需要重新渲染和打补丁)
  • active(keep-alive组件激活)
  • destory(销毁)

2. 组件间通讯

  • 父子组件
  1. 父 -> 子:props
  2. 父 -> 子:$attrs(props没有定义,但是却被传进来的属性,inheritAttrs属性默认为true,会把props以外的属性渲染到组件的根dom作为属性,设置为false,则会避免这个行为)
  3. 父 -> 子:$refs 在子组件绑定ref属性,然后在mouted以后就可以在父组件的this.$refs对象上找到这个子组件实例,可以用它的属性和方法
  4. 子 -> 父:$emit 事件,触发事件,通知父组件(有语法糖 .sync,:xxx.sync="yyy" 等价于 @update:xxx="v => yyy=v",写了sync,在子组件需要$emit(‘update:xxx‘, ...)来更新父组件的yyy属性)
  • 兄弟组件
  1. this.$parent.$children 找到兄弟组件,可以用它的属性和方法
  • 跨多层级组件
  1. provide、inject(在父组件provide,在孙组件inject,官方不推荐使用)
  • 任意组件
  1. Vuex
  2. Event Bus(vue-bus $bus.on(‘xxx‘, function(){}) $bus.emit(‘xxx‘, ...args))

3. mixin 和 mixins

  mixin 是全局混入,mixins 是局部混入

// 全局 mixin 所有组件都会有 person 属性
Vue.mixin({
  data () {
    return {
      name: ‘vue superman‘
    }
  }
})

/*********mixins 局部混入*********/
// mixin.js
export default {
    data() {
        return {
             name: ‘vue superman 2333‘
        }
    }
}

// component1.vue
import mixin from ‘./mixin.js‘
export default {
    mixins: [mixin]
}

4. keep-alive

切换组件的时候,可以保存组件的状态,触发组件的activated deactivated生命钩子。

通常配合 router-view 和 v-if 使用

<keep-alive>
    <router-view></router-view>
    <HelloWorld v-if="show"></HelloWorld>
</keep-alive>

原文地址:https://www.cnblogs.com/amiezhang/p/11519727.html

时间: 2024-08-09 12:53:18

Vue 基础知识的相关文章

vue基础知识之vue-resource/axios

Vue基础知识之vue-resource和axios(三) vue-resource Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery.vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应.也就是说,$.ajax能做的事情,vue-resource插件一样也能做到,而且vue-resource的API更为简洁.另外,vue-resource还提供了

Vue 基础知识之 Vue.extend

Vue.extend 属于 Vue 的全局 API,在实际业务开发中我们很少使用,因为相比常用的 Vue.component 写法使用 extend 步骤要更加繁琐一些.但是在一些独立组件开发场景中,Vue.extend + $mount 这对组合是我们需要去关注的. 官方文档 学习开始之前我们先来看一下官方文档是怎么描述的. Vue.extend( options ) 参数: {Object} options 用法: 使用基础 Vue 构造器,创建一个“子类”.参数是一个包含组件选项的对象.

vue 基础知识 随笔

window.localStorage.gettItem("someItem"||[])//如果localStorage中的someItem不存在就返回一个空数组 window.localStorage.setItem("someItem",someValue)//向localStrorage中存入一个便变量 someItem const  ES6的规范   定义一个常量 export 相当于 model.export() 就是导出这个对象 //导出的方法放在这里

Vue基础知识总结(二)

一.解决网速慢的时候用户看到花括号标记 (1)v-cloak,防止闪烁,通常用于比较大的选择器上. 给元素添加属性v-cloak,然后style里面:[v-cloak]{display:none;} (2){{msg}},等价于<span v-text="msg"></span> (3){{{msg}}},html转意输出,等价于<span v-html="msg"></span>(在v2.0上,三括号已经删除) 二.

学习vue基础知识(一)

什么是vue 前端框架的3马车 angular 谷歌公司 m(数据)v(视图)c(控制器) 双向数据绑定react facebook (非死不可) 视图层的框架view 虚拟domvue 尤玉溪 双向数据绑定+虚拟dom是一套用于构建用户界面的渐进式框架 入门难度最低 为什么要学习vue 高效 1.运行效率高 采用虚拟dom 减少真实dom的操作使项目的运行效率大大提高2.开发效率高 采用了组件化开发 将开发者的精力从dom操作解放出来,转移到数据操作上 爱上vue 3 5 什么叫做热爱 无时无

vue准备知识-es6基础

目录 知识 let和const 模板字符串 箭头函数 对象的单体模式 面向对象 一.知识 http://www.cnblogs.com/majj/https://www.cnblogs.com/majj/category/1216624.html 阮一峰 es6 http://es6.ruanyifeng.com/ https://www.bootcdn.cn/ http://www.cnblogs.com/majj/ 前端 VUE 博客每个人都要去写! html(语义化,除了语义,其他得都没什

基础知识(C#语法、数据库SQL Server)回顾与总结

前言 已经有大概一个多月没有更新博客,可能是开始变得有点懒散了吧,有时候想写,但是又需要额外投入更多的时间去学习,感觉精力完全不够用啊,所以为了弥补这一个多月的潜水,决定写一篇,衔接9月未写博客的空缺. 无需定义实体,返回object类型,如何获取属性值? 这样的场景在下拉列表中很常见,在下拉列表中我们只需要Id和Name两个字段,无需其他字段,同时也是为了节约流量,例如实体和数据如下: public class Department { public int Id { get; set; }

Vue基础知识点

基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destoryed vue常用指令: v-for.v-bind(缩写形式:prop).v-on(缩写形式@click='sss').v-if/v-else/v-else-if.v-model.v-once.v-html.v-show... vue自定义组件:Vue.component('componentName'

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use