Vue学习总结(五)——插值操作

本文详细介绍了Vue中的六种插值操作,包括Mustache语法、v-once指令用于一次性渲染、v-html指令用于解析HTML内容、v-text指令用于显示文本、v-pre指令跳过编译过程以及v-cloak指令防止未编译模板的闪烁。

1、Mustache语法(也就是双大括号,Mustache:胡子、胡须)

(1)可以直接插入到标签中

(2)可以写简单的表达式

(3)可以两个mustache一起使

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <div id="app">
    <!--插入到标签中-->
    <h2>{{message}}</h2>
    <h2>{{message}}, 李银河</h2>
    <!--mustache语法中,不仅仅可以直接写变量,也可以写简单的表达式-->
    <h2>{{firstName + lastName}}</h2>
    <h2>{{firstName + ' ' + lastName}}</h2>
    <h2>{{counter * 5}}</h2>
    <!--使用了两个mustache-->
    <h2>{{firstName}} {{lastName}}</h2>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: '你好啊',
        firstName: 'kim',
        lastName: 'tian',
        counter: 100
      }
    })
  </script>
</body>
</html>

2、v-once指令

(1)使用场景:

         当我们不希望界面随意的跟随改变时,可以用该指令

(2) 用法:

          该指令后面不需要跟任何表达式。

          该指令表示元素和组件只渲染一次,不会随着数据的改变而改变。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <div id="app">
    <h2>{{message}}</h2>
    <h2 v-once>{{message}}</h2>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: '你好啊'
      }
    })
  </script>
</body>
</html>

尝试打开console修改message的值,使用v-once后没用重新渲染,值不会被改变。 

3、v-html指令

(1)使用场景:

         某些情况下,我们从服务器请求到的数据本身就是一个HTML代码。

         如果我们直接通过{{}}来输出,会将HTML代码也一起输出。

         但是我们可能希望的是按照HTML格式进行解析,并且显示对应的内容。

(2)用法:

         该指令后面往往会跟上一个String类型。

         会将string的html解析出来并进行渲染。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <div id="app">
    <h2>{{url}}</h2>
    <!--v-html指令后面往往会跟上一个string类型,会将string的html解析出来并进行渲染-->
    <h2 v-html="url"></h2>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        url: '<a href="http://www.baidu.com">百度一下</a>'
      }
    })
  </script>
</body>
</html>

执行结果如下:

 

4、v-text指令

(1)使用场景:

          和mustache比较相似,都是用于将数据显示在页面上。

(2)用法:

          v-text通常情况下,接受一个String类型。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <div id="app">
    <h2>{{message}},田小江</h2>
    <!--v-text不够灵活,会将后面的值覆盖掉-->
    <h2 v-text="message">,田小江</h2>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: '你好啊'
      }
    })
  </script>
</body>
</html>

执行结果如下:可以看出来v-text会覆盖后面的内容。

5、v-pre指令

(1)使用场景:

         v-pre用于跳过这个元素和它子元素的编译过程,用于显示原本的Mustache语法。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <div id="app">
    <!--这个元素中的内容会被编译解析出来对应的内容-->
    <h2>{{message}}</h2>
    <!--加上v-pre,会把里面的东西原封不动的展示出来,不要做解析-->
    <h2 v-pre>{{message}}</h2>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: '你好啊'
      }
    })
  </script>
</body>
</html>

执行结果如下:

6、v-cloak指令

(1)使用场景

         这个指令保持在元素上直到关联实例结束编译。

         即:

               在vue解析之前,div中有一个属性v-cloak

                在vue解析之后,div中没有一个属性v-cloak

(2)用法

         和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    [v-cloak] {
      display: none;
    }
  </style>
</head>
<body>
  <!--在vue解析之前,div中有一个属性v-cloak-->
  <!--在vue解析之后,div中没有一个属性v-cloak-->
  <div id="app" v-cloak>
    <h2>{{message}}</h2>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    setTimeout(function() {
      const app = new Vue({
      el: '#app',
      data: {
        message: '你好啊'
      }
    })
    }, 3000)
  </script>
</body>
</html>

执行结果为: 在前3秒是空白,后面展示你好啊。

如果不使用v-cloak和对应的CSS规则,显示效果为:在前3秒为{{message}},后面显示你好啊。

本资源集提供了针对小型无人机六自由度非线性动力学模型的MATLAB仿真环境,适用于多个版本(如2014a、2019b、2024b)。该模型完整描述了飞行器在三维空间中的六个独立运动状态:绕三个坐标轴的旋转(滚转、俯仰、偏航)与沿三个坐标轴的平移(前后、左右、升降)。建模过程严格依据牛顿-欧拉方程,综合考虑了重力、气动力、推进力及其产生的力矩对机体运动的影响,涉及矢量运算与常微分方程求解等数学方法。 代码采用模块化与参数化设计,使用者可便捷地调整飞行器的结构参数(包括几何尺寸、质量特性、惯性张量等)以匹配不同机型。程序结构清晰,关键步骤配有详细说明,便于理解模型构建逻辑与仿真流程。随附的示例数据集可直接加载运行,用户可通过修改参数观察飞行状态的动态响应,从而深化对无人机非线性动力学特性的认识。 本材料主要面向具备一定数学与编程基础的高校学生,尤其适合计算机、电子信息工程、自动化及相关专业人员在课程项目、专题研究或毕业设计中使用。通过该仿真环境,学习者能够将理论知识与数值实践相结合,掌握无人机系统建模、仿真与分析的基本技能,为后续从事飞行器控制、系统仿真等领域的研究或开发工作奠定基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值