vue——v-for指令

news/2024/7/10 2:13:05 标签: vue

在v-for中使用数组

用法:(item, index) in items
index为数组下标

<ul id="app">
  <li v-for="(person, index) in persons">
    {{ index }}---{{ person.name }}---{{ person.age }}
  </li>
</ul>
const vm = new Vue({
  el: '#app',
  data: {
    persons: [
      { name: '张三', age: 18 },
      { name: '李四', age: 28 },
      { name: '王五', age: 22 },
      { name: '赵六', age: 18 },
    ]
  }
})

在这里插入图片描述

可以利用of替代in作为分隔符,因为它更接近迭代器的语法:

<div v-for="item of items"></div>

在v-for中使用对象

用法:(value, key, index) in Object
参数:value: 对象值
           key:可选,键名
           index:可选,索引

<ul id="app">
  <li v-for="(value, key, index) in hu">
    {{ value }}
  </li>
</ul>
const vm = new Vue({
  el: '#app',
  data: {
    hu: {
      name: '张三',
      age: 30,
      height: '163cm'
    }
  }
})

在这里插入图片描述

在v-for中使用数字

用法:n in num
参数:n: 数字,从1开始

<div id="app">
  <span v-for="n in num">{{ n }} </span>
</div>
const vm = new Vue({
  el: '#app',
  data: {
    num: 10
  }
})

在这里插入图片描述

使用字符串

用法:str in string
参数:str: 字符串,源数据字符串中的每一个

<div id="app">
  <span v-for="str in string">{{ str }} </span>
</div>
const vm = new Vue({
  el: '#app',
  data: {
    string: 'woainizhongguo'
  }
})

打印:
在这里插入图片描述

循环一段包含多个元素的内容

可以利用template元素循环渲染一段包含多个元素的内容

<ul id="app">
  <template v-for="person in persons">
    <li>{{ item.msg }}</li>
    <li>哈哈</li>
  </template>
</ul>
const vm = new Vue({
  el: '#app',
  data: {
    persons: ['hc', 'czl', 'xsh', 'lyy','ly','mgy']
  }
})

在这里插入图片描述

关于key

Vue更新使用v-for渲染的元素列表时,它默认使用“就地更新”的策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序,而是从新渲染标签内部的值:

<ul id="app">
  <li v-for="(person, index) in persons">
    {{ person }}
    <input type="text" />
    <button @click="handleClick(index)">下移</button>
  </li>
</ul>
const vm = new Vue({
  el: '#app',
  data: {
    persons: ['hc', 'czl', 'xsh', 'lyy','ly','mgy']
  },
  methods: {
    handleClick (index) {
      const deleteItem = this.persons.splice(index, 1);
      //splice函数用于排列数组内的元素
      this.persons.splice(index + 1, 0, ...deleteItem);
    }
  }
})

在这里插入图片描述
点击第一个下移后,第二个span标签里面的值会改成第一个的值
在这里插入图片描述


http://www.niftyadmin.cn/n/1570164.html

相关文章

python字符串的编码方式_Python中的字符串和编码

1.ASCII、Unicode和UTF-8的关系&#xff1a; 字符 ASCII Unicode UTF-8 A 01000001 00000000 01000001 01000001 中 x 01001110 00101101 11100100 10111000 10101101 ASCII编码实际上可以被看成是UTF-8编码的一部分 用记事本编辑的时候&#xff0c;从文件读取的UTF-8字符被转换…

编写一个程序将摄氏温度转为华氏温度PYTION_顺序程序设计实例

例1&#xff1a;有人用温度计测量出用华氏法表示的温度&#xff08;如69℉&#xff09;&#xff0c;现在要求把它转换为以摄氏度表示的温度&#xff08;如20℃&#xff09;解题思路&#xff1a;这个问题的算法很简单&#xff0c;关键在于找出二者之间的转换公式。根据物理学知识…

vue的v-model指令

作用&#xff1a;双向数据绑定&#xff0c;只能用于表单元素上 <body><input id"test" type"text" v-model"entry"><script>let vm new Vue({el:"#test",data:{entry:""}})</script> </body&g…

树状数组 区间加 区间求和_02 创建数组

上一小节我们学习了先创建一个序列型对象&#xff0c;再基于此生成一个数组。但是这样也有一定的局限性&#xff0c;因为如果我们创建的数组比较大&#xff0c;比方说100100的大小&#xff0c;那就有点麻烦了。实际上&#xff0c;Numpy内置了很多创建数组的方式&#xff0c;除了…

vue的侦听器及怎么侦听数组

作用 侦听属性 响应数据的变化&#xff0c;当数据发生改变的时候 会立即执行对应的函数。 <body><div id"test"><input type"text" v-model"entry"></div><script>let vm new Vue({el: "#test",data…

android 串口调试工具_只需几行代码 ESP32秒变无线串口调试神器

串口调试工具对于广大电子工程师和电子爱好者来说再熟悉不过了&#xff0c;常见的有USB转TTL串口线&#xff0c;另外还有一些无线串口调试工具&#xff0c;通过蓝牙、2.4G、WIFI等方式实现串口数据无线透传。无线连接方式省去了线缆的束缚&#xff0c;带来的好处也是不言而喻的…

numpy 拼接_numpy回顾小结(二)

上一篇&#xff1a;橘猫吃不胖&#xff1a;numpy回顾小结&#xff08;一&#xff09;​zhuanlan.zhihu.com函数numpy中&#xff0c;定义了很多的函数&#xff0c;常用的数学函数&#xff0c;比如&#xff1a;np.sin(a) np.sqrt(a)聚合函数除了数学函数&#xff0c;还有聚合函数…

vue的计算属性computed

计算属性 1.作用&#xff1a; 数据可以进行逻辑处理操作对计算属性中的数据进行监视。 2.计算属性和普通属性的区别&#xff1a; 计算属性是基于它的依赖进行更新的&#xff0c;只有在相关依赖发生改变时才能更新变化计算属性是缓存的&#xff0c;只要相关依赖没有改变&…