v-bind

v-text 等价于 {{}}

v-bind 属性绑定指令

v-bind

  • 属性绑定指令,可设置行内样式
  • 格式:v-bind:style="{background:bg}"
  • <p>{{bg}}</p> == <p v-text="bg"></p>
<body><div id="app"><p>{{bg}}</p><p v-text="bg"></p><p style="background: red">{{bg}}</p><p v-bind:style="{background:bg,fontSize:'30px'}">{{bg}}</p></div><script src="/base/vue.js"></script><script>new Vue({el:"#app",data:{bg:"red"}})</script>
</body>

v-bind-Class

v-bind:class=[‘class1’, ‘class2’]

v-bind:class=[‘class1’,(三目运算)]

v-bind:class={class1:true,class2:获取数据} //数据为bool类型

<body><div id="app"><p class="red small">p1</p><p v-bind:class=['red','small']>p2</p><p v-bind:class=['red',(isBig?'big':'')]>p3</p><p v-bind:class={red:true,big:isBig}>p3</p></div><script src="/base/vue.js"></script><script>new Vue({el:"#app",data:{isBig:true}})</script>
</body>

v-bind-style

  • v-bind 可以简写成 : 冒号
  • img :src = “imgSrc” 前面不加冒号无效,会原样输出“imgSrc”
  • 绑定常用的属性 id/class/style img:src属性
<body><div id="app"><p v-bind:id="2*3" :style="{background:bg}">p标签</p><p><img src="imgSrc" alt=""></p><!-- 无效 --><p><img :src="imgSrc" alt=""></p><!-- 有效 --><p>{{imgSrc}}</p><!-- imgSrc原样输出 --></div><script src="/base/vue.js"></script><script>new Vue({el:"#app",data:{bg:"pink",imgSrc:"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1560837330028&di=3662628ed614ceeae33cb4c3a8c8e98f&imgtype=0&src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201611%2F10%2F20161110182723_4m3jT.thumb.700_0.jpeg"}})</script>
</body>

vue_watch

案例 做一个num*2+1的效果

  • 1.{{num*2+1}} 可以实现效果,但是不方便维护管理
  • 2.直接封装成一个函数,然后函数内部返回 this.num*2+1
    优点:好处就是方便维护与管理了
    缺点:缺点就是无关数据变化的时候,doubleNum这个方法也会被调用了。
  • 3.可以通过设置watch监听器实现这个功能。
    watch可以监听现有数据的变化,然后一旦现有数据发生变化了,就会让一个新的数据改变
    逻辑上比较复杂点。
<body><div id="app"><p>num: {{num}}</p><p>{{num*2+1}}</p><p>{{doubleNum()}}</p><p>watchNum: {{watchNum}}</p><p><input type="text" v-model="msg"></p><p><button @click="++num">点击num++</button></p></div><script src="./base/vue.min.js"></script><script>/*做一个效果: num*2+1  效果1.{{num*2+1}} 可以实现效果,但是不方便维护管理2. 直接封装成一个函数,然后函数内部返回  this.num*2+1好处就是方便维护与管理了缺点就是无关数据变化的时候,doubleNum这个方法也会被调用了。无关数据变化的时候,就会引发视图渲染,doubleNum方法就会被执行了!3.  可以通过设置watch监听器实现这个功能。watch可以监听现有数据的变化,然后一旦现有数据发生变化了,就会让一个新的数据改变。逻辑上比较复杂点。*/// var num  =1000;new Vue({el:"#app",data:{num:1,msg:"hello world",watchNum:"" ,//声明一条新的数据},methods:{doubleNum(){ return this.num*2+1}},watch:{// num:function(newValue,oldValue){//     this.watchNum = newValue*2+1// }num:{immediate:true,//第一次就会监听handler(newValue,oldValue){this.watchNum = newValue*2+1}}}})</script>
</body>

vue_computed

computed:计算属性

  • 会根据现有数据生成一个新的数据,并且两者会产生关联,建立永久性的缓存。
  • 当无关数据变化的时候,他不会重新计算,直接从缓存里面取之前的值。

和watch的区别:watch监听是单个的 每次监听只能监听一个变量的改变

<body><div id="app"><p>num: {{num}}</p><p>{{num*2+1}}</p><p>{{doubleNum()}}</p><p>watchNum: {{watchNum}}</p><p>computedNum: {{computedNum}}</p><p><input type="text" v-model="msg"></p><p><button @click="++num">点击num++</button></p></div><script src="./base/vue.min.js"></script><script>/*做一个效果: num*2+1  效果1.{{num*2+1}} 可以实现效果,但是不方便维护管理2. 直接封装成一个函数,然后函数内部返回  this.num*2+1好处就是方便维护与管理了缺点就是无关数据变化的时候,doubleNum这个方法也会被调用了。无关数据变化的时候,就会引发视图渲染,doubleNum方法就会被执行了!3.  可以通过设置watch监听器实现这个功能。watch可以监听现有数据的变化,然后一旦现有数据发生变化了,就会让一个新的数据改变。逻辑上比较复杂点。4. computed 计算属性会根据现有数据生成一个新的数据,并且两者会产生关联,建立永久性的缓存。当无关数据变化的时候,他不会重新计算,直接从缓存里面取之前的值。跟watch的区别是什么?watch监听是单个的  每次监听只能监听一个变量的改变*/// var num  =1000;new Vue({el:"#app",data:{num:1,msg:"hello world",watchNum:"" ,//声明一条新的数据},methods:{doubleNum(){return this.num*2+1}},computed:{ //计算属性  {{computedNum}}computedNum(){return this.num*2+1}}})</script>
</body>

vue02——vue中v-XXX指令相关推荐

  1. Vue中禁止输入表情符号指令

    参考地址:vue el-input中禁止输入表情符号_笑到世界都狼狈的博客-CSDN博客_输入框禁止输入表情 你知道compositionstart和compositionend吗 - 掘金 cons ...

  2. vue中通过自定义指令将汉字转化为首字母大写、首字母小写、大写、小写的拼音

    使用情景: 在文本框中输入内容,例如姓名 在页面中将姓名转化为姓名的拼音,包括大写拼音.小写拼音.首字母大写拼音.大写拼音缩写.小写拼音缩写 新建一个 pinyin.js 文件 这是一串又臭又长的un ...

  3. vue中自定义全局指令报错

    我主要从三个方面来检查 1.首先检查是否拼写错误,尽量粘贴,不要手写 2.区分好变量和字符串的差别 <p v-color="'red'">全局指令</p> ...

  4. vue中如何自定义指令

    目录 一. 什么是自定义指令 二. 如何自定义指令 三.应用场景实现 输入框防抖 图片懒加载 一键 Copy的功能 拖拽 下拉菜单 相对时间转换 一. 什么是自定义指令 我们看到的v-开头的行内属性, ...

  5. vue中如何自定义指令directive

    一. 什么是自定义指令 我们看到的v-开头的行内属性,都是指令,不同的指令可以完成或实现不同的功能,对普通 DOM元素进行底层操作,这时候就会用到自定义指令.除了核心功能默认内置的指令 (v-mode ...

  6. vue中的v-text指令之Vue知识点归纳(二)

    本文中将描述: v-text 的指令的基本使用 v-text 与差值表达式的区别 1 简述 v-text会将元素当成纯文本输出 <!DOCTYPE html> <html lang= ...

  7. Vue中常见的指令及其含义?

    v-text 只解析文本信息 v-html 可以解析超文本标签 v-if/v-else-if/v-else 与javaScript中的一样,用于判断DOM的显示与隐藏. v-show 通过控制元素的d ...

  8. 手把手教你在vue中使用自定义指令全局封装防抖节流函数

    第一步在src下创建utils文件夹并创建common.js文件 //'@/utils/common.js' 文件function throttle(bindObj, fn, delay) {bind ...

  9. 【Vue】v-bind v-model指令的使用(实现计算器效果)

    在Vue学习笔记(一)中,我们已经了解了Vue中的基本指令,比如 v-text,v-html,v-bind,v-on 等指令的使用,并且介绍了 MVVM 模式,那么怎么实现动态的在M和V之间数据传递呢 ...

最新文章

  1. 一维码Code 128简介及其解码实现(zxing-cpp)
  2. MySQL CPU 使用率高的原因和解决方法
  3. MySQL 语法问题:You can‘t specify target table ‘xxx‘ for update in FROM clause. 原因及解决方法
  4. Leetcode每日必刷题库第6题,如何实现字形变换?
  5. ML:机器学习中与模型相关的一些常见的判断逻辑(根据自调整阈值计算阳性率)
  6. 成功解决 编程语言代码结果中输出-9223372036854775808的数据
  7. oracle快速插入大量数据
  8. ​北京大学 2022 年博士研究生招生简章
  9. Python 基础起步(一)写在开篇的话,写给同为小白的你
  10. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)
  11. Tcpdump抓包实操
  12. Oracle undo 管理
  13. 【图像隐写】基于matlab DWT数字水印嵌入+攻击+提取【含Matlab源码 1759期】
  14. c++ 二次开发 良田高拍仪_高拍仪进行二次开发要求
  15. 程序员工具箱(附各种工具的下载地址)
  16. Jlink20P接口定义
  17. 大数据与云计算的关系?
  18. 【高中数学】向量积坐标公式
  19. 招商银行笔试题之爱吃喵粮的小招喵
  20. Vue3.0 项目启动(打造企业级音乐App)

热门文章

  1. D3D粒子系统设计关键要点
  2. 无线充电宝当无线充电器哪个品牌好?快充无线充电宝推荐
  3. C/C++ Qt StatusBar 底部状态栏应用
  4. 笔记本电脑黑屏基础处理
  5. matlab 图像输入/显示等
  6. 机器学习与人工智能顶会论文列表汇总
  7. 线性代数与解析几何——Part1 解析几何
  8. Vue中引入字体并解决字体文件过大问题
  9. 安卓开发---11 Android UI美化
  10. 手机token登入软件_app开发调试工具_app开发token使用