Vue核心基础6:Vue内置指令、自定义指令、生命周期

1 Vue中的内置指令

    <script>const vm = new Vue({el: '#root',data: {n: 1,m: 100,name: 'Vue',str: '<h3>你好</h3>'}})</script>

1.1 v-text

<div v-text="name"></div>

 

1.2 v-html

<div v-html="str"></div>

 

1.3 v-cloak

 

1.4 v-once

<h2 v-once>初始化的n值: {{n}}</h2>
<h2>当前的n值: {{n}}</h2>
<button @click="n++">加1</button>

 

1.5 v-pre

<h2 v-pre>Vue其实很简单的</h2>
<h2>当前的n值: {{m}}</h2>
<h2 v-pre>当前的n值: {{m}}</h2>
<button @click="m++">加1</button>

2 自定义指令

【代码】

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>自定义指令</title><script src="../js/vue.js"></script>
</head><body><!-- 需求1:定义一个v-big指令,和 v-text功能类似,但会把绑定的数值方法10倍 --><!-- 需求2:定义一个v-fbind指令, 和v-bind功能类似,但可以让其绑定的input元素默认获得焦点--><div id="root"><h2>当前的n值: <span v-text="n"></span></h2><h2>放大十倍后的n值: <span v-big="n"></span></h2><button @click="n++">加1</button><hr><!-- <input type="text" v-bind:value="n"> --><input type="text" v-fbind:value="n"></div><script>/*     // 定义全局指令Vue.directive('fbind', {// 1.指令和元素成功绑定时(一上来的时候);bind(element, binding) {element.value = binding.value},// 2.指令所在元素被插入页面时调用inserted(element, binding) {element.focus()},// 3.指令所在模板被重新解析时调用update(element, binding) {// console.log('update')element.value = binding.value},})  */const vm = new Vue({el: '#root',data: {name: 'Vue',n: 1},// 所有指令相关的函数中的this都指向windowdirectives: {// big函数何时会被调用// 1.指令和元素成功绑定时(一上来的时候);// 2.指令所在的模板被重新解析时;big(element, binding) {element.innerHTML = binding.value * 10},fbind: {// 1.指令和元素成功绑定时(一上来的时候);bind(element, binding) {element.value = binding.value},// 2.指令所在元素被插入页面时调用inserted(element, binding) {element.focus()},// 3.指令所在模板被重新解析时调用update(element, binding) {// console.log('update')element.value = binding.value},}}})</script>
</body></html>

3 生命周期

【代码】

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>分析生命周期</title><script src="../js/vue.js"></script>
</head><body><div id="root"><!-- <h2 :style="{opacity: opacity}">欢迎学习Vue</h2> --><h2>当前的n值是: {{n}}</h2><button @click="add">加1</button><button @click="destory">点我销毁vm</button></div><script>const vm = new Vue({el: '#root',data: {n: 1,},methods: {add() {this.n++},destory() {console.log('销毁vm')this.$destroy()}},beforeCreate() {console.log('beforeCreate', this)// debugger},created() {console.log('created', this)},beforeMount() {console.log('beforeMount', this)},mounted() {console.log('mounted', this)},beforeUpdate() {console.log('beforeUpdate', this)},updated() {console.log('updated', this)},beforeDestroy() {console.log('beforeDestroy', this)},destoryed() {console.log('destoryed', this)}})</script>
</body></html>


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/468894.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 笔记 002 整合mybatis做数据库读取

概念 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08;Plain Old Java Objec…

Istio复习总结:xDS协议、Istio Pilot源码、Istio落地问题总结

1、xDS协议 1&#xff09;、xDS是什么 xDS是一类发现服务的总称&#xff0c;包含LDS、RDS、CDS、EDS以及SDS。Envoy通过xDS API可以动态获取Listener&#xff08;监听器&#xff09;、Route&#xff08;路由&#xff09;、Cluster&#xff08;集群&#xff09;、Endpoint&…

力扣724. 寻找数组的中心下标(前后缀和)

Problem: 724. 寻找数组的中心下标 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 分别求取nums数组的前、后缀和&#xff08;不包括当前元素&#xff09;&#xff0c;并比较当某个位置的前后缀和相等时&#xff0c;返回该位置&#xff1b; 复杂度 时间复杂度: …

《UE5_C++多人TPS完整教程》学习笔记14 ——《P15 创建我们自己的子系统(Creating Our Own Subsystem)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P15 创建我们自己的子系统&#xff08;Creating Our Own Subsystem&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&…

【AI视野·今日NLP 自然语言处理论文速览 第七十九期】Thu, 18 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 18 Jan 2024 Totally 35 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Deciphering Textual Authenticity: A Generalized Strategy through the Lens of Large Language Semantics …

云原生容器化-4 Docker仓库

1.Docker仓库 1.1 Docker Hub docker仓库用于存放docker镜像&#xff0c;可以分为公用和私有两种。Docker Hub是全球公用的仓库&#xff0c;因服务器在国外&#xff0c;国内基本不可以&#xff1b;一般需要配置阿里、腾讯等加速器。公司内部而言&#xff0c;可以搭建私有的Do…

CPU-GPU异构并行化APSP算法

一、Floyd-Warshall算法 介绍 Floyd-Warshall算法&#xff08;英语&#xff1a;Floyd-Warshall algorithm&#xff09;&#xff0c;中文亦称弗洛伊德算法或佛洛依德算法&#xff0c;是解决任意两点间的最短路径的一种算法&#xff0c;可以正确处理有向图或负权&#xff08;但…

VUE学习——表单的输入绑定

使用【v-model】。 输入框 <template><h1>表单输入绑定</h1><input type"text" v-model"message"><p>输入的值&#xff1a;{{ message }}</p> </template> <script>export default{data(){return{messa…

【开源】JAVA+Vue.js实现天然气工程业务管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四、数据库设计4.1 用户表4.2 分公司表4.3 角色表4.4 数据字典表4.5 工程项目表4.6 使用材料表4.7 使用材料领用表4.8 整体E-R图 五、系统展示六、核心代码6.1 查询工程项目6.2 工程物资…

春节专题|产业7问:区块链厂商的现在和未来——基础设施厂商

2023转瞬即逝&#xff0c;不同于加密领域沉寂一整年后在年末集中爆发&#xff0c;对于我国的区块链厂商而言&#xff0c;稳中求胜才是关键词&#xff0c;在平稳发展的基调下&#xff0c;产业洗牌也悄无声息的到来。 从产业总体而言&#xff0c;在经过了接近3年的快速发展后&…

Android ·移动应用开发 创建第一个Android项目

文章目录 一、创建第一个Android项目1.1 准备好Android Studio1.2 运行程序1.3 程序结构是什么app下的结构res - 子目录&#xff08;所有图片、布局、字符串等资源&#xff09;AndroidManifest.xml 有四大组件&#xff0c;程序添加权限声明 Project下的结构 二、开发android时&…

【日常聊聊】新年新征程:迎接学习的挑战

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 结语 我的其他博客 前言 随着新的一年的到来&#xff0c;程序员们站在了全新的起点。这是一个充满机遇和挑战的时刻&#xff0…