当前位置: 首页 > news >正文

Vue指令总结

  1. 熟悉的指令

    名称作用
    v-bind :单向绑定解析表达式,可简写为:xxx
    v-model :双向数据绑定
    v-for :遍历数组/对象/字符串
    v-on:绑定事件监听,可简写为@
    v-if:条件渲染(动态控制节点是否存存在)
    v-else:条件渲染(动态控制节点是否存存在)
    v-show :条件渲染(动态控制节点是否展示)
  2. 新学指令

    名称作用
    v-text把所有的字符串都当成正常的文本去解析,替换所在的结点的内容,而插值语法不会
    v-html支持HTML结构的解析;与插值语法的区别:v-html会替换掉结点中所有的内容,插值语法不会。
    严重注意:!!!v-html有安全性问题
    (1)在网站上动态渲染任意的HTML是非常危险的行为,容易导致XSS攻击。
    (2)一定要在可信的内容上使用v-html,永远不要在用户提交的内容上使用!!!
    v-cloakv-clock指令(没有值):
    1.本质就是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-clock属性。
    2.使用css的属性选择器:[v-cloak]{display:none}配合v-clock可以解决网速慢时,Vue还没接管容器时的{{XXX}}问题。
    v-oncev-once在结点初次动态渲染自后,就视为静态内容了,有数据的改变不会引起v-once所在结点的更新,用于优化性能;
    v-pre作用是跳过所在结点的编译。因此,可以利用他跳过没有使用指令语法、没有使用插值语法的结点,会加快编译;
  3. 自定义指令

    1. 定义语法

      (1)局部指令

       new Vue({
              directives:{指令名:配置对象}
      })
      //或者
      new Vue({
              directives:{指令名:回调函数}
      })
      

      (2)全局指令

       Vue.directive('指令名',配置对象);
       //或者
        Vue.directive('指令名',回调函数);
      
    2. 配置对象中常见的3个回调函数

      (1) bind:指令与元素成功绑定时调用。

      (2) inserted:指令所在元素被插入页面时调用。

      (3) update:指令所在模板结构被重新解析时调用。

fbind: {
                // 指令与元素成功绑定时调用
                bind(element, binding) {
                    element.value = binding.value;
                },
                // 指令所在的结点被插入页面时
                inserted(element, binding) {
                    element.focus();
                },
                // 指令所在的模板被重新解析时
                update(element, binding) {
                    element.value = binding.value;
                }
            }
  1. 注意点

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

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

相关文章:

  • 离开二线城市石家庄(勉强算二线吧)去北漂,入职外包测试岗一个月想辞职了~
  • 瑞康医药与亚马逊云科技达成战略合作,全国上百家子公司业务上云
  • 内存取证工具Volatility学习
  • MySQL 中的排序在底层是怎样实现的呢?
  • HID 异步访问和同步访问
  • 吊打面试官系列之:我这样回答 “如何更高效的进行接口测试“,面试官果然跪了。
  • 云资源管理
  • 【机器学习】树模型预剪枝和后剪枝
  • 性能提升 25 倍:Rust 有望取代 C 和 C++,成为机器学习首选 Python 后端
  • python一些操作的笔记
  • 4、乐趣国学—“行有不得,反求诸己。”
  • Github每日精选(第42期):web前端自定义Alert窗口sweetalert
  • “大厂”角力移动办公系统市场,钉钉和企微向左、WorkPlus向右
  • 面向有监督学习与文本数据的通用分类器
  • 为了学明白中断机制,我努力了
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  •  D - 粉碎叛乱F - 其他起义
  • Date型的使用
  • JavaScript-Array类型
  • Markdown 语法简单说明
  • Theano - 导数
  • 记一次和乔布斯合作最难忘的经历
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • HanLP分词命名实体提取详解
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #pragam once 和 #ifndef 预编译头
  • #宝哥教你#查看jquery绑定的事件函数
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (二)丶RabbitMQ的六大核心
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)h264中avc和flv数据的解析
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .Net IE10 _doPostBack 未定义
  • .NET 指南:抽象化实现的基类
  • .NetCore 如何动态路由
  • .net反编译工具
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @Validated和@Valid校验参数区别
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [17]JAVAEE-HTTP协议
  • [Android Pro] AndroidX重构和映射
  • [autojs]逍遥模拟器和vscode对接
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [C++] 多线程编程-thread::yield()-sleep_for()
  • [C++]类和对象(中)