この記事では、Vue のリスト レンダリング コマンド v-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 はオブジェクトの走査もサポートしており、1 つ、2 つ、または 3 つのパラメータをサポートしています:
<!-- 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");
<li v-for="item in 100">{{item}}</li>
なぜここでは使用しないのですか? div を使用するのはどうでしょうか?
これまで勉強していたときはあまり考えていませんでしたが、ノートを整理しているときにこの問題を発見しました
理由
:div でラップすると div も表示されます。
#div (div に実際の意味がない場合は、テンプレートを使用して置き換えることができます)
<div v-for="(value,key,index) in infos"> <span>{{value}}</span> <strong>{{key}}</strong> <i>{{index}}</i> </div>
<template v-for="(value,key,index) in infos"> <span>{{value}}</span> <strong>{{key}}</strong> <i>{{index}}</i> </template>
ラップされたメソッドには次のものが含まれます:
pop() 配列の後ろから要素を削除#shift() 配列の前から要素を削除
上記のメソッドは元の配列を直接変更します;
ただし、一部のメソッドは元の配列を置き換えず、filter()、concat( など) の新しい配列を生成します。 ) とスライス();
//并不是完整写法!!! <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の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。