Tracy 小笔记 Vue - 数据展示,基本指令,绑定属性 v-bind,v-for,条件渲染,强制渲染

2023-11-19

数据展示

插值操作

data 里的数据都是怎么显示在页面上的?
Mustache 语法 (胡须,也就是双大括号) : {{变量 | 简单表达式}}

基本指令

v-once 指令的使用:<h2 v-once>{{message}}<h2>
如果需求是只显示最初的值,以后值不变,就要加这个指令。
当数据发生变化时,元素或者组件以及其所有的子元素将视为静态内容并且跳过;
v-html : 当服务器给我们返回的数据带标签的时候(富文本)

 如: `url: '<a href="http://www.baidu.com" >百度一下<a>',
<h2>{{ur}}<h2>: 页面会把这一串标签当做字符转打印出来
<h2 v-html="url">{{ur}}<h2> 页面会将这个a 标签正常显示在页面上`

v-text <h2 v-text="message"><h2> == <h2>{{message}}<h2>
它的局限性比较大,就是展示文本,不够灵活,如果h2 里有其他文本,都会被覆盖
v-pre : 和标签 pre 比较相似,{{message}} 直接打印出来,而不会把它当做变量

<h2 v-pre>{{message}}<h2>

v-cloak 斗篷指令, 放置网络慢的时候卡住,页面直接渲染出来了文字 “{{message}}” 然后再变成想要显示的数据。 会出现闪烁的状态.

<h2 v-cloak>你好啊 : {{message}}<h2>

Tips: 在 vue 解析之前, h2 中有属性 v-cloak, 在 vue 解析之后, h2 的该属性会被删掉, 所以我们可以通过 css 来不让它在页面加载的时候直接显示 {{message}}
[v-cloak] {display:none;}

绑定属性 v-bind

作用:动态属性绑定。 前面的插值操作,主要是把数据写到我们“模板的内容”当中,但是除了内容外,我们标签里的属性有时候也需要绑定动态数据。 如 a 的 href, img 的 src.
v-bind 的基本使用:

<img src="{{imgUrl}}" alt="这样是显示不了图片的,它把 {{imgUrl}} 直接当做成了普通的字符串了">
<img v-bind:src="imgUrl" alt="只有用v-bind 绑定属性,图片才可以显示">

图片的相对路径: src 会用 @ 来代替 <img :src='require("@/assets/img/tabbar/cart.png")' > <img src="~@/assets/img/tabbar/cart.png" >
任何非 require 或者 import 用绝对路径的时候 @ 前面要用 ~ 号
语法糖缩写:只写冒号即可 v-bind:src == :src
动态绑定 class (对象语法)
普通绑定: v-bind:class=“自定义的class变量” 和 正常的属性绑定是一样的使用方式
对象绑定: v-bind:class="{key1: value1, key2: value2,…}" 这里写的事单个大括号,代表对象
{类名1: boolean, 类名2: boolean} 当布尔值为true 都得时候,对应的类名才会被加入到 class 中
比如说: v-bind:class="{active: ‘true’, line: ‘false’}" 最终这个标签上显示的 class=“active”
v-bind:class="{active: isActive, line: isLine}"
data: {isActive:‘true’, isLine: ‘false’}
这时候我们可以在某事件中改 : vue.isActive= false;
标签里可以普通 class 和 v-bind:class 共存,最终会把两个属性合并在一起
methods 绑定
v-bind:class="{active: isActive, line: isLine}" 你如果觉得太长的话可以变成
v-bind:class=“getClass()”
methods:{getClass:function(){ return {active: this.isActive, line: this.isLine}; }}
计算属性绑定,computed 以后讲。
动态绑定 class (数组语法): 用的时候比较少
也是可以和普通class 共存
v-bind:class="[‘active’, ‘line’]" 这种是直接写死的,有单引号当做普通字符串
v-bind:class="[active, line]" 这种是取 data 里的变量值,没有单引号
也是可以用 methods
v-bind:class=“getClass()”
methods:{getClass:function(){ return [this.isActive, this.isLine]; }}
动态绑定 style (对象语法)
:style="{key: value, css 属性名: css 属性值}"
:style="{font-size: ‘50px’}"
font-size 可以换成小驼峰 fontSize, vue 支持两种语法
50px 要加一个单引号,否则 vue 会把它当成变量去解析, 这个和 v-bind:class 其实是一样的
methods 绑定
:style=“getStyle()”
data: {fontsize: 20},
methods: { getStyle(){ return {fontSize: this.fontsize + “px”};}, }
动态绑定 style (数组语法): 用的时候比较少
:style="[style1, style2]"
data: {
style1: {fontsize: ‘50px’},
style2: {backgroundColor: ‘red’},
}

v-for

遍历数组:

  • {{item}} :key="item"
  • v-for="(item, index) in movies v-bind:key="item": 使用 v-for时给对应的元素或组件添加 :key 属性,它的作用是为了更高效的更新虚拟 dom. (也就是说,当 v-for 只是展示一下而不会被增加,删除等,还是不用加 :key 属性的)

    遍历对象
    v-for=“value in objects”
    v-for="(value, key) in objects"
    v-for="(value, key, index) in objects"

    通过索引修改数组中的元素,不是响应式的: this.movies[0]=‘夏洛特烦恼’
    替代方式 this.letters.splice(0, 1, ‘夏洛特烦恼’) 或者 vue 自带的 set(要修改的对象, 索引值, 修改后的值): vue.set(this.movies, 0, ‘夏洛特烦恼’)

    条件渲染 v-if, v-else-if, v-else

    注意: 用 key 管理可复用的元素, 这个可以控制不同条件的时候,比如说用户名登入切换到邮箱登入后,文本框要不要保留原来的值。当 key 值不同的时候就可以重新保存了。

    强制渲染

    this. f o r c e U p d a t e ( ) ; v u e 数 据 更 新 了 , 页 面 不 变 。 添 加 t h i s . forceUpdate(); vue 数据更新了,页面不变。 添加this. forceUpdate();vuethis.forceUpdate();进行强制渲染,效果实现。因为数据层次太多,render函数没有自动更新,需手动强制刷新。

    v-show

    v-if 当不符合条件时,压根不会有对应元素在 dom 中,而 v-show 就是个 display:none;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tracy 小笔记 Vue - 数据展示,基本指令,绑定属性 v-bind,v-for,条件渲染,强制渲染 的相关文章

  • Python自动化测试之自定义日志及其封装

    前言 在软件测试的日常工作中 日志是个非常重要的模块 对于测试来说 日志的作用主要有以下四点 1 调试程序 2 了解系统程序运行的情况是否正常 3 系统城西运行故障分析和问题定位 4 用来做用户行为分析和数据统计 因此在编写自动化测试脚本和

随机推荐

  • 【GoLang】go入门:go语言执行过程分析 && 常见数据类型(基本数据类型)

    1 go语言执行过程分析 1 执行流程分析 通过 go build 进行编译 运行上一步生成的可执行文件 通过 go run 命令直接运行 2 上述两种执行流程的区别 在编译时 编译器会将程序运行时依赖的库文件包含在可执行文件中 所以可执行
  • Linux命令学习之nslookup

    比如我想查看 一个IP地址的域名的话 可以用nslookup这个命令 test test nslookup ip address 参考 http roclinux cn p 2441 nslookup何许人 nslookup命令 是Linu
  • 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示,,,

    题目介绍 给出两个 非空 的链表用来表示两个非负的整数 其中 它们各自的位数是按照 逆序 的方式存储的 并且它们的每个节点只能存储 一位 数字 如果 我们将这两个数相加起来 则会返回一个新的链表来表示它们的和 您可以假设除了数字 0 之外
  • 昨晚,谷歌发布了一个可怕的人工智能!

    昨晚 谷歌召开了一年一度的Google I O大会 没有太多废话 谷歌CEO劈柴直接抛出了这次大会的主题 AI人工智能 AI能做什么 其实 黑友们每天都在使用它 比如Siri或X爱助手 我们可以这样问 讲个笑话 1 1是多少 今天星期几 天
  • 成功解决Unable to allocate xxx MiB for an array with shape (xxxx, xxxx)

    原因 数据量太大 导致cpu内存不足导致的 解决方法 换个性能更好的电脑 numpy 在定义数组的时候 采用更低的精度 从float64降低为float32 array np zeros 10000 10000 dtype float32
  • 【Neo4j】第 1 章:图数据库

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Git安装与仓库配置(附带)

    Git的安装与仓库配置 前期准备 安装与配置 安装Git 注册账户 环境配置 配置用户名与邮箱 生成SSH 添加SSH 配置仓库 仓库建立 初始化仓库 提交文件操作 Git 的基本语法总结 总结小话 前期准备 下载Git安装包 根据需求不同
  • oracle bitmap join index

    下面是官网对于位图联合索引的说明 Use the bitmap join index clause to define a bitmap join index A bitmap join index is defined on a sing
  • centos6.5下php添加pdo_mysql扩展

    我的Mysql是用RPM方式安装的 PHP5 5是用源码编译安装的 查看phpinfo 后 发现没有pdo mysql扩展 进去到php的源码包的ext中 root linux php cd usr local src php 5 5 18
  • 最常用的五大算法

    一 贪心算法 贪心算法 又称贪婪算法 是指 在对问题求解时 总是做出在当前看来是最好的选择 也就是说 不从整体最优上加以考虑 他所做出的仅是在某种意义上的局部最优解 贪心算法不是对所有问题都能得到整体最优解 但对范围相当广泛的许多问题他能产
  • tomcat发布必须配置JAVA_HOME,但可以不配置CATALINA_HOME

    在同一台服务器上 使用tomcat 发布多个应用是经常的事情 经常出现的问题 1 就是tomcat多个应用之间不能使用同一个端口 今天又遇到一个问题 纠结上好长时间 记录 之前发布第一个应用的时候 按照网上的java开发的配置 把CATAL
  • printk()和printf()的比较

    1 前言 print函数和printf函数是对孪生兄弟 在功能作用上几乎是一样的 在使用上有一些区别 1 printk 和printf 之间的一个显著区别在于printk 允许通过指定一个标志来设置优先级 从而决定这条打印是否需要打印出来
  • STM32 GPIO的学习

    1 GPIO的作用 目前我使用的是STM32F0xx系列 参考数据手册Memory Map处可以看到ST所有的外设寄存器均处于Peripherals处 地址范围为0x40000 0000 0x48001800 其中包含了APB1 APB2
  • 孤立森林的简要记录

    20200920 0 引言 在之前的时候 进行一些任务分类的时候 使用过孤立森林来实现一些代码 但是也没有具体来深究原理 只知道这个跟随机森林有些像 都是决策树的一种集成方式 最近正好看到了这部分内容 就正好记录一下 本部分内容主要是有文章
  • gorm报错reflect: reflect.Value.SetInt using unaddressable value

    reflect reflect Value SetInt using unaddressable value 这种报错是应该传地址的时候传了值导致的 经过检查 gorm包下的方法如Create的参数应该是地址 比如 err global D
  • 代码复现不稳定应该怎么调整

    tensorflow转为pytorch代码 复现结果浮动较大 尝试方法 在测试和验证部分加入 model eval 去掉训练部分的shuffle 保证每次送入的数据一样 设定各个部分的随机种子 random seed 42 np rando
  • 8种常见的 代码 编译 软件 !!

    VS Code Source Insight Vim UltraEdit eclipse Understand Atom Sublime Text 接下来详细为大家讲解一下它们各自的用途 目录 1 VS Code 2 Source Insi
  • 密码学哈希函数_哈希函数在密码学中的应用

    密码学哈希函数 A Hash Function is a mathematical function that converts a numerical value into another compressed numeric value
  • FullGC问题分析

    一 常见的FullGC场景分析 频繁的大对象 大对象直接被分配到老年代 系统高负载运行 请求量很大 jvm来不及将对象转移到老年代 直接到老年代分配对象 系统内存泄漏 导致对象长时间在老年代 得不到释放 二 产生FullGC的原因 Syst
  • Tracy 小笔记 Vue - 数据展示,基本指令,绑定属性 v-bind,v-for,条件渲染,强制渲染

    数据展示 插值操作 data 里的数据都是怎么显示在页面上的 Mustache 语法 胡须 也就是双大括号 变量 简单表达式 基本指令 v once 指令的使用 h2 message h2 如果需求是只显示最初的值 以后值不变 就要加这个指