diff --git a/docs/vue2.md b/docs/vue2.md index 9aa25f9..fc8cd2b 100644 --- a/docs/vue2.md +++ b/docs/vue2.md @@ -513,7 +513,141 @@ data: { 带有 `v-show` 的元素始终会被渲染并保留在 DOM 中,只是简单地切换元素的 `CSS` 属性 `display` -Vue 2 API +列表渲染 +--- + +### v-for + +```html {3} + +``` + + +```js +var example1 = new Vue({ + el: '#example-1', + data: { + items: [ + { message: 'Foo' }, + { message: 'Bar' } + ] + } +}) +``` + +### v-for 可选的第二个参数(索引) + +```html {2} +
  • + {{ index }} + {{ item.message }} +
  • +``` + +如下 `data` + +```js +data: { + items: [ + { message: 'Foo' }, + { message: 'Bar' } + ] +} +``` + +也可以用 `of` 替代 `in` 作为分隔符 + +```html +
    +``` + +### v-for 使用对象 + + +```html +
  • + {{ value }} +
  • +``` + +如下 data + +```js +data: { + object: { + title: 'How to do lists in Vue', + author: 'Jane Doe', + publishedAt: '2016-04-10' + } +} +``` + +渲染结果 + +``` +How to do lists in Vue +Jane Doe +2016-04-10 +``` + +提供第二个的参数为 property 名称 (也就是键名) + +```html +
    + {{ name }}: {{ value }} +
    +``` + +还可以用第三个参数作为索引 + +```html +
    + {{ index }}. {{ name }}: {{ value }} +
    +``` + +### v-for/v-if + +```html {2,3} +
  • + {{ todo }} +
  • +``` + +只渲染未完成的 todo,下面加上 `v-else` 示例 + +```html + +

    No todos left!

    +``` + +### 组件上使用 v-for + +```html + +``` + +`2.2.0+` 的版本里,当在组件上使用 `v-for` 时,`key` 现在是必须的 + +Vue 2 API 参考 --- ### 全局配置