vue之生命周期钩子、axios的使用、计算属性、侦听属性


目录
  • 生命周期钩子
    • 生命周期图
    • 生命周期
      • create
      • update
      • bedoreCreate
      • beforeMount
      • mounted(用得最多)
      • beforeUpdate
      • updated
      • beforeDestroy
      • destroyed
    • 案例
  • 组件
    • fetch和axios
      • fetche使用
      • axios的使用
    • 计算属性
      • 通过计算属性实现名字首字母大写
      • 通过计算属性重写过滤案例
    • 侦听属性

生命周期钩子

生命周期图

生命周期

钩子函数 描述
beforeCreate 创建Vue实例之前调用,data空的
created(重要) 创建Vue实例成功后调用(可以在此处发送异步请求后端数据)
beforeMount 渲染DOM之前调用
mounted(重要) 渲染DOM之后调用---》看到页面了,插值已经进去了
beforeUpdate 重新渲染之前调用(数据更新等操作时,控制DOM重新渲染)
updated 重新渲染完成之后调用
beforeDestroy 销毁之前调用
destroyed(重要) 销毁之后调用

create

向后端发请求拿数据,发送ajax请求

let vm = new Vue()

update

let vm = new Vue({
    el: '#box',
    data: {
        isShow: true    // 修改这个内容
    },
    methods: {
        handleClick() {
            console.log('我是根组件')
        }
    }
})

bedoreCreate

beforeMount

mounted(用得最多)

定时任务,延迟任务 js中

beforeUpdate

updated

beforeDestroy

destroyed

组件销毁 - 给组件写一个定时器

setTimeout()    // 延迟3s干什么事(执行一次)
setInterval()    // 每3s干什么事(循环执行)

案例




    
    生命周期
    



组件

fetch和axios

axios与fetch实现数据请求

(1)fetch(不是所有浏览器都支持,谷歌浏览器支持)
XMLHttpRequest 是一个设计粗糙的 API,配置和调用方式非常混乱,而且基于事件的异步模型写起来不友好。 兼容性不好

fetche使用




    
    fetch
    


  • {{data.name}}

axios的使用





axios




    
  • {{data.name}}

计算属性

在插值写普通函数,只要页面一刷新,函数就会重新执行,跟函数没关的其他的变化,函数也会重新计算,这样会影响效率

计算属性就是:把函数当成属性来用---》只有这个函数使用的属性(变量)变化,函数才重写运算

通过计算属性实现名字首字母大写




    
    Title
    


{{mytext.substring(0,1).toUpperCase()+mytext.substring(1)}}

计算属性:{{getname}}

普通方法:{{getNameMethod()}}

通过计算属性重写过滤案例




    
    Title
    


  • {{data}}

侦听属性

只要被监听的变量发生变化,就会执行监听属性中的方法




    
    Title
    


vue