让前端飞Vue.js专区

条件渲染与列表渲染

2017-10-10  本文已影响121人  Husbin

条件渲染

v-if指令

<div v-if="type === 'A'">A</div>
<div v-else-if="type === 'B'"> B</div>
<div v-else-if="type === 'C'">C</div>
<div v-else>Not A/B/C</div>

v-show指令

v-ifv-show的区别与应用场景

列表渲染

v-for渲染一个数组

<ul id="example-2">
  <li v-for="(item, index) in items">
    {{ parentMessage }} - {{ index }} - {{ item.message }}
  </li>
</ul>
let example2 = new Vue({
  el: '#example-2',
  data: {
    parentMessage: 'Parent',
    items: [
      { message: 'Foo' },
      { message: 'Bar' }
    ]
  }
})

v-for渲染一个对象

<div v-for="(value, key, index) in object">
  {{ index }}. {{ key }}: {{ value }}
</div>
let vm = new Vue({
  el: '#v-for-object',
  data: {
    object: {
      firstName: 'John',
      lastName: 'Doe',
      age: 30
    }
  }
})

v-for渲染一段取值范围

<div>
  <span v-for="n in 10">{{ n }} </span>
</div>

输出:1 2 3 4 5 6 7 8 9 10

v-for渲染<template>和组件

<ul>
  <template v-for="item in items">
    <li>{{ item.msg }}</li>
    <li class="divider"></li>
  </template>
</ul>
<my-component
  v-for="(item, index) in items"
  v-bind:item="item"
  v-bind:index="index"
  v-bind:key="item.id"
></my-component>
上一篇 下一篇

猜你喜欢

热点阅读