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> < ...
随机推荐
- 129_Power Pivot&Power BI DAX不同维度动态展示&动态坐标轴
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 某天在和那还是叫我大铁吧 交流关于季度&月度同时展示的问题,感概中国式报表真的需求很微妙. 下面来看看到 ...
- 6. Docker-compose配置Dockerfile使用
Docker-compose实际是管理基于一个镜像启动的容器的. 使用docker-compose.yml文件以及Dockerfile文件在生成自定义镜像的同时启动当前镜像,并且由docker-com ...
- 开发工具-MySQL下载地址
更新记录 2022年6月10日 完善标题. 商业版下载 商业版下载地址 https://edelivery.oracle.com/ 使用Oracle账号登录即可下载. 官方下载 https://dev ...
- Elasticsearch学习系列二(基础操作)
本文将分为3块讲解Es的基础操作.分别为:索引(index).映射(mapping).文档(document). 索引操作 创建索引库 语法: PUT /索引名称{ "settings&qu ...
- Phantomjs实用代码段(持续更新中……)
一.下载 下载链接二.解压安装包 直接解压即可三.配置环境变量 找到高级系统设置,打开它,出现以下图.点击环境变量. 分别点击编辑按钮 分别新建添加当初的解压路径,到bin文件夹.点击确定. 这样,环 ...
- MySQL-1-概念
数据库相关概念 DB:数据库(database):存储数据的"仓库".它保存了一系列有组织的数据 DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 SQL: ...
- Linux安装Anaconda3完整教程
Linux安装Anaconda3完整教程 欢迎关注H寻梦人公众号 相关链接 官方安装Anaconda3教程 [手把手教你]如何在Linux系统搭建jupyter notebook CentOS8.2安 ...
- python小题目练习(13)
题目:封装用户的上网行为 实现代码: """Author:mllContent:封装用户的上网行为Date:2020-01-19"""def ...
- Windows 通过本地计算机IP链接Mysql设置
前言 1.Mysql-1130错误:无法远程连接 错误:ERROR 1130: Host '192.168.1.3' is not allowed to connect to thisMySQL se ...
- 从20s优化到500ms,我用了这三招
前言 接口性能问题,对于从事后端开发的同学来说,是一个绕不开的话题.想要优化一个接口的性能,需要从多个方面着手. 其实,我之前也写过一篇接口性能优化相关的文章<聊聊接口性能优化的11个小技巧&g ...