1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>Vue 内置指令</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 <script type="text/javascript" src="../js/day.min.js"></script>
8 <style>
9 [v-cloak]{
10 display: None;
11 }
12 </style>
13 </head>
14 <body>
15 <!--
16 内置指令:
17 v-bind:单项绑定解析表达式,可简写为“:xxx”
18 v-model:双向数据绑定
19 v-for:遍历数组、对象、字符串
20 v-on:绑定时间监听,可简写为“@”
21 v-if、v-else-if、v-else:条件渲染(动态控制节点是否存在)
22 v-show:条件渲染(动态孔子节点是否展示)
23 v-text:向其所在的节点中渲染文本内容。与插值语法的区别:v-text会替换掉节点中的内容,{{xx}}则不会
24 v-html:
25 1.作用:向指定节点中渲染包含html结构的内容
26 2.与差值语法的区别:
27 .v-html会替换掉节点中所有的内容,{{xxx}}则不会
28 .v-html可以识别html结构
29 3.严重注意:v-html有安全性问题!!!
30 .在网站上动态渲染任意HTML是非常危险的,容易导致xss攻击
31 .一定要在可以的内容上使用v-html,永不要用在用户提交的内容上
32 v-cloak:没有值
33 1.本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-cloak属性
34 2.使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题
35 v-once:没有值
36 1.v-once所在节点在初次动态渲染后,就视为静态内容了(只读一次n的值)
37 2.以后数据的改变不会硬气v-once所在结构的更新,可以用于优化性能
38 v-pre:没有值
39 1.跳过其所在节点的编译过程(vue不解释该节点)
40 2.可利用它跳过:没有使用指令语法、没有使用差值语法的节点,会加快编译
41 -->
42 <div id="root" v-cloak>
43 <div>你好,{{name}}</div>
44 <div v-text="name">你好,</div>
45
46 <div v-text="str"></div> <!-- html 标签不被解析 -->
47 <div v-html="str"></div> <!-- html 标签会被解析 -->
48
49 <h3 v-once>n的初始值:{{n}}</h3>
50 <h3>当前n的值:{{n}}</h3>
51 <button @click="n++">点我n的值+1</button>
52
53 <h3 v-pre>n的初始值:{{n}} 这里加了pre属性后,{{n}}并不会解析</h3>
54 </div>
55 </body>
56
57 <script type="text/javascript" >
58 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
59
60 let vm = new Vue({
61 el: "#root",
62 data:{
63 name: 'BaiYeShu',
64 str: '<h3>你好,</h3>',
65 n: 1
66 },
67
68 });
69 </script>
70 </html>
 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>Vue 自定义指令</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 <script type="text/javascript" src="../js/day.min.js"></script>
8
9 </head>
10 <body>
11 <!--
12 自定义指令总结:
13 1.定义语法:
14 .局部指令:
15 new Vue({
16 directives:{指令名:配置对象} 或者 directives:{指令名:回调函数}
17 })
18 .全局指令:
19 Vue.directive('指令名', 配置对象) 或者 Vue.directive('指令名', 回调函数)
20 2.配置对象中常用的3个回调:
21 .bind: 指令与元素成功绑定时调用
22 .inserted: 指令所在元素被插入页面时调用
23 .update: 指令所在模板结构被重新解析时调用
24 3.备注
25 .指令定义时不加v-,但使用时要加v-
26 .指令名如果是多个单词,要使用kebab-case命名方式,不要用kebabCase命名
27
28 -->
29 <div id="root" v-cloak>
30 <h2>{{name}}</h2>
31 <h2>当前的n值是:<span v-text="n"></span></h2>
32 <h2>n放大10倍的值是:<span v-big="n"></span></h2>
33 <button @click="n++">点我n+1</button>
34 <br />
35 <input type="text" v-big-number="n" >
36 </div>
37 </body>
38
39 <script type="text/javascript" >
40 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
41 Vue.directive('big-number',{ // 全局指令
42 bind(element, binding){
43 element.value = binding.value;
44 },
45 inserted(element, binding){
46 element.setFouse();
47 },
48 update(element, binding){
49 element.value = binding.value;
50 }
51 })
52
53 let vm = new Vue({
54 el: "#root",
55 data:{
56 name: 'BaiYeShu',
57 n: 1
58 },
59 directives:{
60 'big'(element, binding){
61 console.log('big', this); // 这里directives,所有指令相关的函数,this都是window
62 element.innerText = binding.value * 10;
63 },
64 // 'big-number':{ // 局部指令
65 // bind(element, binding){
66 // element.value = binding.value;
67 // },
68 // inserted(element, binding){
69 // element.setFouse();
70 // },
71 // update(element, binding){
72 // element.value = binding.value;
73 // }
74 // }
75 }
76
77 });
78 </script>
79 </html>

Vue 内置指令 && 自定义指令的更多相关文章

  1. Vue基础进阶 之 自定义指令

    自定义指令-----钩子函数 自定义指令 除了内置指令,Vue也允许用户自定义指令: 注册指令:通过全局API Vue.directive可以注册自定义指令: 自定义指令的钩子函数: bind: in ...

  2. Vue内置组件keep-alive的使用

    本文主要介绍Vue内置组件keep-alive的使用. Vue内置组件keep-alive的使用 keep-alive接收三个props:●include - 字符串或正则表达式.只有名称匹配的组件会 ...

  3. pytest封神之路第四步 内置和自定义marker

    可以通过命令行查看所有marker,包括内置和自定义的 pytest --markers 内置marker 内置marker本文先讲usefixtures .filterwarnings .skip ...

  4. vue内置指令与自定义指令

    一.内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href  v-bind:class  v-bind:title  v-bind:bb 2.v-on:用于监听DOM事件: 例 ...

  5. 2.0 vue内置指令与自定义指令

    1.1 常用内置指令 1) v:text : 更新元素的 textContent 2) v-html : 更新元素的 innerHTML 3) v-if : 如果为 true, 当前标签才会输出到页 ...

  6. vue内置指令详解——小白速会

    指令 (Directives) 是带有 v- 前缀的特殊属性,职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM. 内置指令 1.v-bind:响应并更新DOM特性:例如:v-bi ...

  7. (尚016)Vue指令(11个自带指令+自定义指令)

    1.Vue常用指令 1)v:text:更新元素的 textContent 2)v-html:更新元素的 innerHTML 3)v-if:如果为true,当前标签才会输出到页面 4)v-else:如果 ...

  8. vue.js实现内部自定义指令和全局自定义指令------directive

    在Vue中,我们平时数据驱动视图时候,内部自带的指令有时候解决不了一些需求,这时候,Vue给我们一个很好用的东东 directive 这个单词是我们写自定义指令的关键字哦 之定义指令为我们提供了几个钩 ...

  9. Vue(十三)自定义指令

    自定义指令 分类:全局指令.局部指令 1. 自定义全局指令 使用全局方法Vue.directive(指令ID,定义对象) 2. 自定义局部指令   <!DOCTYPE html> < ...

随机推荐

  1. 【Azure Developer】使用Azure PubSub服务示例代码时候遇见了.NET 6.0的代码转换问题

    问题描述 当本地环境中安装.NET 6.0后,用指令 dotnet new web 或  dotnet new console 生成的项目,使用的都是新模板生成的Program.cs文件.里面去掉了n ...

  2. 大数据分析——sklearn模块安装

    前提条件:numpy.scipy以及matplotlib库的安装 (注:所有操作都在pycharm命令终端进行) ①numpy安装 pip install numpy ②scipy安装 pip ins ...

  3. 『忘了再学』Shell基础 — 19、使用declare命令声明变量类型

    目录 1.declare命令介绍 2.声明数组变量类型 3.声明变量为环境变量 4.声明只读属性 5.补充: 1.declare命令介绍 Shell中所有变量的默认类型是字符串类型,如果你需要进行特殊 ...

  4. 学学dotnet core中的身份验证和授权-1-概念

    前言 身份验证: Authentication 授权: Authorization net core 中的身份验证和授权这两个部分,是相辅相成的.当初我在学在部分的时候,是看的 net core 官网 ...

  5. centos6搭建mysql

    目前CentOS6.5及一下版本基本上被官方给放弃更新了,但是考虑到忠实粉丝迟迟不肯放手,所以还留了入口但是非常有限 1.搭建mysql 可参照:https://blog.csdn.net/huang ...

  6. dotnet core 也能协调分布式事务啦!

    2022 年 5 月 24 日,我们发布了 DBPack v0.1.0 版本,该版本主要 release 了分布式事务功能.在我们的规划里,DBPack 是要支持所有微服务开发语言协调分布式事务的,但 ...

  7. WPF开发随笔收录-报警闪烁效果实现

    一.前言 工作中目前经手的项目是医疗相关的监护软件,所以会涉及到一些报警效果的实现,今天在这里就简单分享一下实现方式 二.正文 1.实现的方式比较的简单,就是通过一个Border控件,然后搭配Data ...

  8. 深入理解 happens-before 原则

    在前面的文章中,我们深入了解了 Java 内存模型,知道了 Java 内存模型诞生的意义,以及其要解决的问题.最终我们知道:Java 内存模型就是定义了 8 个基本操作以及 8 个规则,只要遵守这些规 ...

  9. Redis主从复制+Keepalived+VIP漂移实现HA高可用技术之详细教程

    1.大家可以先看我的单台Redis安装教程,链接在此点击Redis在CentOS for LInux上安装详细教程 2.第一台redis配置,是正常配置.作为MASTER主服务器,第二台redis的配 ...

  10. Codeforces Round #780 (Div. 3)

    A. Vasya and Coins 题目链接 题目大意 Vasya 有 a 个 1-burle coin,有 b 个 2-burle coin,问他不能通过不找钱支付的价格的最小值. 思路 如果 a ...