IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue (8) — 自定义指令、生命周期 -> 正文阅读

[JavaScript知识库]Vue (8) — 自定义指令、生命周期

目录

一、自定义指令

? ?1、定义语法

????????(1).局部指令

????????(2).全局指令

? ?2、配置对象中常用的三个回调

????????(1).bind

????????(2).inserted

????????(3).update

? 3、备注

? 4.案例?

二、 生命周期

? 1.生命周期简介

? 2.vm的生命周期

? 3.常用的生命周期钩子

? 4.关于销毁Vue实例


一、自定义指令

? ?1、定义语法

????????(1).局部指令

? ? ? ? ? ? ? ? ? ? new Vue( { directives: {指令名:配置对象}?} )

? ? ? ? ? ? ? ? ? ? 或者

? ? ? ? ? ? ? ? ? ? new Vue( { directives {指令名:回调函数} } )

????????(2).全局指令

? ? ? ? ? ? ? ? ? ? Vue.directive ( 指令名,配置对象 )

? ? ? ? ? ? ? ? ? ? 或者

? ? ? ? ? ? ? ? ? ? Vue.directive ( 指令名,回调函数 )

? ?2、配置对象中常用的三个回调

????????(1).bind

????????????????指令与元素成功绑定时调用

????????(2).inserted

????????????????指令所在元素被插入页面时调用

????????(3).update

????????????????指令所在的模板被重新解析时调用

? 3、备注

? ? ? ? ? ? ? ? ? ? 1.指令定义时不加v-,但使用时要加v-

? ? ? ? ? ? ? ? ? ? 2.指令名如果是多个单词要使用kebab-case命名方式,不要用camelCase命名

? 4.案例?

????需求一:定义一个v-big指令,和v-text功能类似,但会把绑定的数值放大10倍

? ? 需求二:定义一个v-fbind指令,和v-bind功能类似,但可以让其所绑定的input元素默认获取焦点

<body>
    <div id="root">
        <h2>当前的n值是:<span v-text="n"></span></h2>
        <h2>放大10倍后的n值是:<span v-big="n"></span></h2>
        <button @click="n++">点我n++</button>
        <hr>
        <input type="text" v-fbind:value="n">
    </div>
</body>
<script>
    Vue.config.productionTip = false
    new Vue({
        el: '#root',
        data: {
            n: 99
        },
        directives: {
            //big函数何时被调用?1.指令与元素成功绑定时(一上来)
            //                  2.指令所在的模板被重新解析时
            big(element, binding) {
                console.log('big', this);//注意:此处的this是window
                element.innerText = binding.value * 10
            },//相当于简写形式,有bind和update函数

            fbind: {
                //指令与元素成功绑定时(一上来)
                bind(element, binding) {
                    element.value = binding.value
                },
                //指令所在元素被插入页面时
                inserted(element, binding) {
                    element.focus()
                },
                //指令所在的模板被重新解析时
                update(element, binding) {
                    element.value = binding.value
                }
            }
        }
    })
</script>

运行结果:?

二、 生命周期

? 1.生命周期简介

????????(1).又名生命周期回调函数生命周期函数生命周期钩子

????????(2).生命周期是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数

????????(4).生命周期函数中的this指向vm组件实例对象

? 2.vm的生命周期

? ? ? ? ? ? ? 将要创建 ===> 调用beforeCreate函数

? ? ? ? ? ? ? 创建完毕 ===> 调用created函数

? ? ? ? ? ? ? 将要挂载 ===> 调用beforeMount函数

(重要)挂载完毕 ===> 调用mounted函数

? ? ? ? ? ? ? 将要更新 ===> 调用beforeUpdate函数

? ? ? ? ? ? ? 更新完毕 ===> 调用updated函数

(重要)将要销毁 ===> 调用beforeDestroy函数

? ? ? ? ? ? ? 销毁完毕 ===> 调用destroyed函数

? 3.常用的生命周期钩子

? ? ? ? ? ? 1.mounted:发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】

? ? ? ? ? ? 2.beforeDestroy:清除定时器、绑定自定义事件、取消订阅消息等【收尾工作】

? 4.关于销毁Vue实例

? ? ? ? ? ? 1.销毁后借助Vue开发者工具看不到任何信息

? ? ? ? ? ? 2.销毁后自定义事件会失效,但原生DOM事件依然有效

? ? ? ? ? ? 3.一般不会再beforeDestroy操作数据,因为即使操作数据,也不会再触发更新流程了

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 10:58:30  更:2021-12-10 10:59:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:26:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码