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

Vue3+Vite实现工程化,插值表达式和v-text以及v-html

1、插值表达式

插值表达式最基本的数据绑定形式是文本插值,它使用的是"Mustache"语法,即 双大括号{{}}

  • 插值表达式是将数据 渲染 到元素的指定位置的手段之一
  • 插值表达式 不绝对依赖标签,其位置相对自由
  • 插值表达式中支持javascript的 运算表达式
  • 插值表达式中也支持 函数的调用 
<script setup>let msg = "hello vue!";let hello = function () {return "hello world!"};let getMsg=()=>{return "hello vue3 message";}let age = 19;let bee = "蜜 蜂";//购物车const carts = [{name: "可乐", price: 3, number: 10}, {name: "薯片", price: 6, number: 8}];//计算购物车总金额function compute() {let count = 0;for (let index in carts) {count += carts[index].price * carts[index].number;}return count;}</script><template><div><!--1、插值表达式 -->{{msg}}<br>      <!--插值表达式不依赖于标签,可以直接输入变量-->{{msg+"2023"}}<br>   <!--插值表达式支持运算-->{{msg.toUpperCase()}}<br>  <!--插值表达式支持函数调用-->{{hello()}}<br>                <!--插值表达式支持函数--><h1>{{msg}}</h1><br>msg的值为:{{msg}}<br>getMsg返回的值为:{{getMsg()}}<br>是否成年:{{age>18?"true":"false"}}<br>反转:{{bee.split(" ").reverse().join("-")}}<br>购物车总金额:{{carts[0].price*carts[0].number+carts[1].price*carts[1].number}}<br>购物车总金额:{{compute()}}<br></div></template>

2、v-text和v-html

为了渲染双标中的文本,我们也可以选择使用v-text和v-html命令

  • v-*** 这种写法的方式使用的是 vue的命令
  • v-*** 的命令必须依赖元素,并且要写在元素的 开始标签
  • v-***指令支持 ES6中的字符串模板
  • v-text可以将数据渲染成双标签中间的文本,但是不识别html元素结构的文本
  • v-html可以将数据渲染成双标签中间的文本,识别html元素结构的文本
<script setup>let str = "<input type='text' value='99'/>";let msg = "hello vue3";let getMsg=()=>{return msg;}let age = 19;let bee = "蜜 蜂";let redMsg='<font color="red">msg</font>'let greenMsg = '<font color="green">${msg}</font>';
</script><template><div><!--2.v-text和v-html--><p v-text="str"></p><!--innerText()--><p v-html="str"></p><!--innerHTML()--><span v-text="msg"></span><br><span v-text="redMsg"></span><br><span v-text="getMsg()"></span><br><span v-text="age>18?'成年':'未成年'"></span><br><span v-text="bee.split(' ').reverse().join('-')"></span><br><h1>=============</h1><span v-html="msg"></span><br><span v-html="redMsg"></span><br><span v-html="greenMsg"></span><br><span v-html="`<font color='green'>${msg}</font>`"></span></div></template>

http://www.lryc.cn/news/238898.html

相关文章:

  • 艾泊宇产品战略:灵感于鬼屋,掌握打造卓越用户体验的关键要素
  • 深度学习环境配置(Anaconda+pytorch+pycharm+cuda)
  • 不是说人工智能是风口吗,那为什么工作还那么难找?
  • new Vue() 发生了什么
  • 【算法】二叉树的存储与遍历模板
  • 【Go学习之 go mod】gomod小白入门,在github上发布自己的项目(项目初始化、项目发布、项目版本升级等)
  • 79基于matlab的大米粒中杂质识别
  • Vue 项目实战——如何在页面中展示 PDF 文件以及 PDFObject 插件实战
  • 系列六、ThreadLocal内存泄露案例
  • Java学习笔记44——Stream流
  • excel表格忘记密码,如何找回?
  • IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Mybatis初识和框架搭建
  • 差分放大器工作原理(差分放大器和功率放大器区别)
  • SystemV
  • LiteOS同步实验(实现生产者-消费者问题)
  • redis的性能管理和雪崩
  • python:关于函数内 * 和 / 是什么意思?
  • PPT密码解密,简单教程,保护幻灯片内容
  • Apache Airflow (十一) :HiveOperator及调度HQL
  • SpringBoot-Docker容器化部署发布
  • 重生奇迹mu格斗怎么加点
  • 「浙江科聪新品发布」新品发布潜伏顶升式移动机器人专用控制器
  • 大数据学习(22)-spark
  • String类常用方法总结
  • TensorFlow实战教程(二十八)-Keras实现BiLSTM微博情感分类和LDA主题挖掘分析
  • 个人博客添加访问人数以及访问时间-githubpage
  • Django--重定向redirect
  • 在html和css中的引用svg(一)
  • C/C++ 实现:自然排序:针对两个需要排序的字符串,不仅逐个比较每个字符的顺序,对于连在一起的数字字符会作为一个完整数字进行比较 某知名企业的笔试题
  • sse实时通信