list - 无法让 v-if 根据属性类型正确显示列表项
问题描述
我不确定为什么我的 v-if 不起作用。我正在尝试显示一个列表,如果该属性是类型 1。有谁知道我做错了什么?
代码:
HTML
<div id="demo" v-cloak>
<h1>{{title | uppercase}}</h1>
<p v-if="todo.type === '1'">Showing type: 1</p>
<ul>
<li v-for="todo in todos" :class="{ done: todo.done }" @click="todo.done = !todo.done">
{{ todo.value }}
</li>
</ul>
</div>
JavaScript
var demo = new Vue({
el: '#demo',
data: {
title: 'todos',
todos: [{
type: '1',
value: 'Code'
}, {
type: '2',
value: 'Debug'
}] //testing with data use: [{done:false,content:'testing'}]
}
})
jsfiddle:http: //jsfiddle.net/syed263/yMv7y/7972/
解决方案
根据我上面的评论,您需要在父元素中启动 v-for 循环。像这样的东西。
<div id="demo" v-cloak>
<h1>{{title | uppercase}}</h1>
<span v-for="todo in todos">
<p v-if="todo.type === '1'">Showing type: 1</p>
<p v-if="todo.type === '2'">Showing type: 2</p>
<ul>
<li v-if="todo.type === '1'" :class="{ done: todo.done }" @click="todo.done = !todo.done">
{{ todo.value }}
</li>
<li v-if="todo.type === '2'" :class="{ done: todo.done }" @click="todo.done = !todo.done">
{{ todo.value }}
</li>
</ul>
</span>
</div>
推荐阅读
- c# - 用于具有添加子控件能力的位图背景图像的 WPF 元素
- python - Sklearn中的UndefinedMetricWarning
- oracle - 不使用 BULK 但仍然得到 ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
- javascript - PhantomJS 中的递归函数
- angular - 如何在 Angular 动画之后运行代码?
- elixir - 在 Ecto 中添加和删除具有多对多关系的记录
- asp.net-mvc - 首先使用迁移向 AspNetUsers.UserName 代码添加唯一约束
- javascript - package.json 文件修改部署
- ionic3 - 我的代码似乎无法识别 Ionic 3 Slidescreen 页面
- assembly - 将两个数组相互添加并将结果存储在 3 中的问题,不起作用