vue.js的v-for指令

本文详细介绍了Vue.js中的v-for指令,包括如何迭代普通数组、对象数组、对象和数字。强调了在使用v-for时必须添加唯一的`:key`属性,解释了`:key`的作用——作为元素的唯一标识,用于优化渲染性能。文中展示了不同场景下的结果,并通过实例说明了`:key`在数据修改时如何影响元素的渲染。
摘要由CSDN通过智能技术生成

v-for 能干嘛?

1.迭代普通数组
2.迭代对象数组
3.迭代对象
4.迭代数字

使用 v-for 时必须添加唯一的 :key

》》key 使用说明代码《《

  • 说明: ⬇⬇========================================⬇⬇
  • 遍历数组或元素中的唯一标识,增加或删减元素时,通过这个唯一标识key判断是否是之前的元素,并且该元素key的值是多少。这个唯一标识是保持不变的
  • 列表数据修改的时候,他会根据key值去判断某个值是否修改,如果修改,则重新渲染这一项,否则复用之前的元素
  • 注意事项: ⬇⬇=====================================⬇⬇
  • 在使用v-for的时候,vue里面需要我们给元素添加一个key属性,这个key属性必须是唯一的标识
  • 给key赋值的内容不能是可变的
  • key的主要作用就是用来提高渲染性能的!

1. 迭代普通数组

/*------------------html---------------------------*/

  <p v-for="(item,i) in dataList">每一项:{
   {
   item}} 索引值:{
   {
   i}}</p>

/*-------------------js--------------------------*/

data:{
   
	dataList:[1,2,3,4,5,6]
}

结果展示:
在这里插入图片描述

2. 迭代对象数组

/*------------------html---------------------------*/

    <p v-for=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 Vue.js 的 v-html 指令高亮匹配关键字的示例代码: ```html <template> <div> <input v-model="keyword" placeholder="Search..."> <ul> <li v-for="item in filteredList" :key="item.id"> <span v-html="highlight(item.title)"></span> </li> </ul> </div> </template> <script> export default { data() { return { keyword: '', list: [ { id: 1, title: 'Apple' }, { id: 2, title: 'Banana' }, { id: 3, title: 'Cherry' }, { id: 4, title: 'Durian' }, { id: 5, title: 'Elderberry' }, ], }; }, computed: { filteredList() { return this.list.filter(item => item.title.toLowerCase().includes(this.keyword.toLowerCase())); }, }, methods: { highlight(value) { if (!this.keyword) { return value; } const regex = new RegExp(`(${this.keyword})`, 'gi'); return value.replace(regex, '<span class="highlight">$1</span>'); }, }, }; </script> <style scoped> .highlight { background-color: yellow; } </style> ``` 在这个示例中,我们使用 v-html 指令渲染了匹配关键字后的标题,并在页面中添加了一个 CSS 类来高亮匹配的关键字。在 highlight 方法中,我们使用了正则表达式来匹配关键字,并使用 replace 方法将匹配的关键字包裹在一个 span 标签中,并添加了一个 CSS 类。 需要注意的是,由于使用了 v-html 指令,因此需要确保输入的关键字是安全的,以避免 XSS(跨站脚本攻击)漏洞。可以在后端对输入的关键字进行过滤和转义,或使用第三方库如 DOMPurify 来过滤输入的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值