您的位置: 翼速应用 > 业内知识 > web前端 > 正文

一起聊聊Vue的列表渲染指令--v-for

本文给大家带来了关于Vue的相关知识,一起聊聊Vue的列表渲染指令之v-for,详细内容请看本文。


一起聊聊Vue的列表渲染指令--v-for


一起聊聊Vue的列表渲染指令--v-for


1.1.v-for


v-for可以说是基础语法的for循环,使用上也差不多,只是形式不同罢了,理解会使用。


使用方法


1、遍历数组


v-for="item in 数组"

v-for="(item, index) in 数组"


对一个数组进行遍历实例:


<div class="item" v-for="item in products">
    <h3 class="title">商品:{{item.name}}</h3>
    <span>价格:{{item.price}}</span>
    <p>秒杀:{{item.desc}}</p>
</div>
 
const app = Vue.createApp({
        data() {
          return {
            //2.数组 存放的是对象
            products: [
              { id: 11, name: "mac", price: 1000, desc: "99" },
            ],
          };
        },
      });
 
app.mount("#app");


2、遍历对象


v-for也支持遍历对象,并且支持有一二三个参数:


●  一个参数: “value in object”;

●  二个参数: “(value, key) in object”;

●  三个参数: “(value, key, index) in object”;


v-for同时也支持数字的遍历,每一个item都是一个数字:


<!-- 2.遍历对象 -->
      <ul>
        <li v-for="(value,key,index) in info">
          {{value}} - {{key}} - {{index}}
        </li>
      </ul>
  
 const app = Vue.createApp({
        data() {
          return {
            info: { bame: "why", age: 18, height: 1.88 },
          };
        },
      });
app.mount("#app");


3、遍历字符串


<li v-for="item in 100">{{item}}</li>


1.2.v-for和template


我们可以使用templ元素来循环渲染一段包含多个元素的内容


为什么这里不使用div呢?


我之前学的时候也没有怎么考虑这个,整理笔记的时候发现了这个问题


原因:


●  如果是div包裹的话,div也会被渲染出来


●  而使用template包裹的话,template并没有被渲染,相较于使用div会节省一个没有必要的div标签的使用。


●  其实,template的作用就是模板占位符,可以帮助我们包裹元素,在循环的过程总,template不会被渲染到页面上。


●  div(如果div没有实际的意义,那么可以使用template替换):


<div v-for="(value,key,index) in infos">
        <span>{{value}}</span>
        <strong>{{key}}</strong>
        <i>{{index}}</i>
</div>


●  template:


<template v-for="(value,key,index) in infos">
        <span>{{value}}</span>
        <strong>{{key}}</strong>
        <i>{{index}}</i>
</template>


1.3.v-for 数组更新检测


Vue将被侦听的数组的变更方法进行了包裹,所以它们也将会触发视图更新,被包裹过的方法包括:


●  push() 数组的后面插入元素

●  pop() 从数组后面删除一个元素

●  shift() 从数组前面删除一个元素

●  unshift() 从数组前面插入一个元素

●  splice() 数组的剪贴、插入、删除

●  sort() 排序

●  reverse() 反转


这些方法的用法其实在js中都是差不多的,用到的时候想起来再查查。


替换数组的方法


●  上面的方法会直接修改原来的数组;


●  但是某些方法不会替换原来的数组,而是会生成新的数组,比如 filter()、concat() 和 slice();


//并不是完整写法!!!
 
<li v-for="item in names">{{item}}</li>
names: ["abc", "bac", "aaa", "cbb"],
// 1.直接将数组修改为一个新的数组
this.names = ["cc", "kk"];
 
// 2.通过一些数组的方法,修改数组中的元素
this.names.push("cc");
this.names.pop();
this.names.splice(2, 1, "cc");
this.names.sort();
this.names.reverse();


关于Vue的列表渲染指令--v-for的相关知识就分享到这里,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题