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

【Vue】Vue的Mustache插值语法、v-bind指令

💭💭

✨: Vue的Mustache插值语法、v-bind绑定属性

💟:东非不开森的主页

💜:如果有幸和你一起学习一起进步,那就太棒啦💜💜

上期回顾:Vue简介、引入、命令式和声明式编程

Vue

    • 一、Mustache插值语法
    • 二、v-bind的绑定属性
      • 2.1.v-bind绑定基本属性
      • 2.2.v-bind绑定class
      • 2.3.v-bind绑定style
      • 2.4.v-bind绑定属性名
      • 2.5.v-bind直接绑定对象

一、Mustache插值语法

⭐⭐mustache 语法: 是"胡子"的意思, 据说是因为嵌入标记像胡子 {{}}(我觉得一点也不像哎O(∩_∩)O哈哈~)

把数据显示到模板(template)中,使用最多的语法是 “Mustache”语法 (双大括号) 的文本插值

  • data返回的对象是有添加到Vue的响应式系统中;
  • 当data中的数据发生改变时,对应的内容也会发生更新。
  • Mustache中不仅仅可以是data中的属性,也可以是一个JavaScript的表达式

⭐⭐
我们可以写:

  • 表达式
  • 三元表达式
  • 调用methods中函数
 <div id="app">
      <h2>{{message}}</h2>
      <h2>当前计数:{{counter}}</h2>

      <!-- 2.表达式 -->
      <h2>计数双倍:{{counter*2}}</h2>
      <h2>展示的信息:{{info.split(" ")}}</h2>

      <!-- 3.三元表达式 -->
      <h2>{{age>=18?"成年人" : "未成年人"}}</h2>

      <!-- 4.调用methods中函数 -->
      <h2>{{formatDate(time)}}</h2>
</div>

二、v-bind的绑定属性

2.1.v-bind绑定基本属性

⭐⭐
  单向绑定v-bind:数据只能从data流向页面

  绑定属性我们可以使用v-bind,比如动态绑定a元素的href属性、img元素的src属性

  v-bind用于

  • 绑定一个或多个属性值
  • 向另一个组件传递props值**(props:相当于一个组件的输入,后面会学习到的)

    v-bind:href 可以写为 :href 这就是v-bind的语法糖
<div id="app">
      <!-- 1.绑定img的src属性 -->
      <button @click="switchImage">切换图片</button>
      <img v-bind:src="showImgUrl" alt="" />
      <!--语法糖 v-bind: = :  -->
      <!-- 2.绑定a的href属性 -->
      <a v-bind:href="href">百度一下</a>
    </div>

2.2.v-bind绑定class

⭐⭐

  1. 基本绑定class
<h2 :class="classes">Hello World</h2>
  1. 动态class可以写对象语法
<button :class="isActive ? 'active':''" @click="btnClick">
我是按钮
</button>
  1. 对象语法的基本使用
<button :class="{active:isActive}" @click="btnclick">我是按钮</button>
  1. 对象语法的多个键值对,动态绑定的class是可以和普通的class同时的使用
  • 我们可以给v-bind:class一个对象,用以动态的切换class
  • 当然,v-bind:class也是可以与普通的class特性共存
<button class="abc cba" :class="getDynamicClasses" @click="btnClick">
我是按钮
</button>

2.3.v-bind绑定style

⭐⭐

  1. 普通的html写法
<h2 style="color: aqua; font-size: 30px">hhh</h2>
  1. style中的某些值,来自data中
    动态绑定style,在后面跟上对象类型
<h2 v-bind:style="{color:fontColor,fontSize:fontSize}">hhhh</h2>
  1. 动态的绑定属性,这个属性是一个对象
<h2 :style="objStyle">hhhhh</h2>

2.4.v-bind绑定属性名


⭐⭐绑定data中的属性名
在属性名不是固定的情况下使用:[属性名]=“值”

<div id="app">
      <h2 :[name]="aaaa">Hello World</h2>
    </div>
    <script src="../lib/vue.js"></script>
    <script>
      const app = Vue.createApp({
        data: function () {
          return {
            name: "class",
          };
        },
      });
      app.mount("#app");

2.5.v-bind直接绑定对象


⭐⭐传入一个对象,对象来自于data,一个对象的所有属性,绑定到元素上的所有属性

<div id="app">
      <h2 :name="name" :age="age" :height="height">Hello world</h2>
      <--直接绑定一个对象,一步到位-->
      <h2 v-bind="infos"></h2>
    </div>

    <script src="../lib/vue.js"></script>
    <script>
      const app = Vue.createApp({
        data: function () {
          return {
            infos: { name: "kk", age: 18, height: 1.7 },
            name: "kk",
            age: 18,
            height: 1.7,
          };
        },
      });
      app.mount("#app");

相关文章:

  • Android7.1.1系统,Toast的Exception: android.view.WindowManager$BadTokenException解决
  • TiKV 监控指标详解
  • 嵌入式系统开发笔记92:感受开源之美
  • VLC 编译安装 [for android, linux, windows]
  • 字节内部私藏的数据结构与算法刷题笔记,太顶了熬夜刷上头
  • 前端性能优化方法与实战开篇词 开启刻意练习之路,进阶前端性能技术专家
  • 实战java高并发程序设计(第2版)学习(1-3)
  • TiCDC 重要监控指标详解
  • T1063 最大跨度值(信息学一本通C++)
  • JavaSE 一些技巧 03——Stream流常用API
  • VMware安装Android-x86示例
  • [HUBUCTF 2022 新生赛]
  • 【Machine Learning】13.逻辑回归小结and练习
  • Cadence Allegro 过孔通孔盲孔埋孔详细说明及设计举例图文教程
  • Spring boot再来一遍
  • hexo+github搭建个人博客
  • JavaScript-如何实现克隆(clone)函数
  • .pyc 想到的一些问题
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • C学习-枚举(九)
  • ES6系统学习----从Apollo Client看解构赋值
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • express.js的介绍及使用
  • Hibernate【inverse和cascade属性】知识要点
  • js中的正则表达式入门
  • NSTimer学习笔记
  • Theano - 导数
  • 记一次和乔布斯合作最难忘的经历
  • 前端js -- this指向总结。
  • 前端工程化(Gulp、Webpack)-webpack
  • 异常机制详解
  • 运行时添加log4j2的appender
  • linux 淘宝开源监控工具tsar
  • ​批处理文件中的errorlevel用法
  • #1015 : KMP算法
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (一)Neo4j下载安装以及初次使用
  • (一)基于IDEA的JAVA基础10
  • (转)Mysql的优化设置
  • (转载)Linux 多线程条件变量同步
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .chm格式文件如何阅读
  • .Net MVC4 上传大文件,并保存表单
  • .NET企业级应用架构设计系列之结尾篇
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • ?php echo ?,?php echo Hello world!;?
  • @Autowired和@Resource的区别
  • [ C++ ] 继承
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网