Vue 内置指令 && 自定义指令
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 内置指令 && 自定义指令的更多相关文章
- Vue基础进阶 之 自定义指令
自定义指令-----钩子函数 自定义指令 除了内置指令,Vue也允许用户自定义指令: 注册指令:通过全局API Vue.directive可以注册自定义指令: 自定义指令的钩子函数: bind: in ...
- Vue内置组件keep-alive的使用
本文主要介绍Vue内置组件keep-alive的使用. Vue内置组件keep-alive的使用 keep-alive接收三个props:●include - 字符串或正则表达式.只有名称匹配的组件会 ...
- pytest封神之路第四步 内置和自定义marker
可以通过命令行查看所有marker,包括内置和自定义的 pytest --markers 内置marker 内置marker本文先讲usefixtures .filterwarnings .skip ...
- vue内置指令与自定义指令
一.内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href v-bind:class v-bind:title v-bind:bb 2.v-on:用于监听DOM事件: 例 ...
- 2.0 vue内置指令与自定义指令
1.1 常用内置指令 1) v:text : 更新元素的 textContent 2) v-html : 更新元素的 innerHTML 3) v-if : 如果为 true, 当前标签才会输出到页 ...
- vue内置指令详解——小白速会
指令 (Directives) 是带有 v- 前缀的特殊属性,职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM. 内置指令 1.v-bind:响应并更新DOM特性:例如:v-bi ...
- (尚016)Vue指令(11个自带指令+自定义指令)
1.Vue常用指令 1)v:text:更新元素的 textContent 2)v-html:更新元素的 innerHTML 3)v-if:如果为true,当前标签才会输出到页面 4)v-else:如果 ...
- vue.js实现内部自定义指令和全局自定义指令------directive
在Vue中,我们平时数据驱动视图时候,内部自带的指令有时候解决不了一些需求,这时候,Vue给我们一个很好用的东东 directive 这个单词是我们写自定义指令的关键字哦 之定义指令为我们提供了几个钩 ...
- Vue(十三)自定义指令
自定义指令 分类:全局指令.局部指令 1. 自定义全局指令 使用全局方法Vue.directive(指令ID,定义对象) 2. 自定义局部指令 <!DOCTYPE html> < ...
随机推荐
- 探索ABP基础架构-下
配置应用程序 ASP.NET Core 的配置系统提供了一个基于键值对的配置方法.它是一个可扩展的系统,可以从各种资源中读取键值对,例如 JSON 设置文件.环境变量.命令行参数等等. 设置配置值 默 ...
- 日期和时间API - 读《Java 8实战》
日期与时间 LocalDate 创建一个LocalDate对象并读取其值 // 根据年月日创建日期 LocalDate date1 = LocalDate.of(2014, 3, 18); // 读取 ...
- 场景实践:使用RDS和ECS搭建个人博客
体验简介 本教程将使用一台基础环境为CentOS7.7的云服务器ECS实例, 搭配您已有的云数据库RDS实例,帮助您快速搭建属于自己的云上博客. 背景知识 本场景主要涉及以下云产品和服务: 阿里云关系 ...
- BZOJ4713 迷失的字符串 解题报告
BZOJ4713 题目大意:有 \(n\) 个点 \(n-1\) 条边,每条边有一个字符.给你 \(m\) 个字符串 \(s_i\),问每个字符串是否可以通过树上的一条简单路径表示. \(n,m\le ...
- JAVA - 请说明”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
请说明"static"关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? "static"关键字表明一个成 ...
- 树莓派开发笔记(十五):树莓派4B+从源码编译安装mysql数据库
前言 树莓派使用数据库时,优先选择sqlite数据库,但是sqlite是文件数据库同时仅针对于单用户的情况,考虑到多用户的情况,在树莓派上部署安装mysql服务,通过读写锁事务等使用,可以实现多进 ...
- ForEach遍历集合、 集合容器
ForEach遍历集合 foreach循环是一种更加简洁的for循环,也称增强for循环,能用于遍历数组或集合中的元素. 格式: for(容器元素类型 临时变量:容器变量){ 执行语句} 从上面格式可 ...
- .NET 处理[未能为 SSLTLS 安全通道建立信任关系]问题
更新记录 2022年4月16日本文迁移自Panda666原博客,原发布时间:2021年7月16日. 在.NET的开发过程中,发现[基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系]问题 ...
- BUUCTF-文件中的秘密
文件中的秘密 下载图片属性查看即可发现flag.这算是图片必须查看的几个地方.
- colab简易使用
解压文件(zip文件) !unzip -o /content/drive/MyDrive/test.zip -d /content/ 解压test.zip到指定目录, 其他解压缩命令: linux-常 ...