vue.js - 在 vue.js 中渲染时删除最后一项
问题描述
我面临一个问题,即即使Title
我的 JSON 中没有与之关联的项目也会被渲染。请查看随附的屏幕截图,这将使您了解我的问题(标记为红色)。我知道这是因为lid
在我的 JSON 中,vue 正在渲染它而没有任何关联(即标题)值。我该如何解决这个问题。有没有办法在渲染时删除最后一个项目,还是有其他方法?我需要lid
inthis.dino
但在我的 vue-app 中渲染时不需要它。有没有办法在渲染时从 JSON 中弹出最后一项。
<div id="vue-app">
<div id="myList" v-for="item in items">
<p>{{item.Title}}</p>
<button v-on:click="loadmore()" class="fluid ui button">Load More</button>
下面是我的vue函数
new Vue({
el: '#vue-app',
delimiters: ['[[', ']]'],
data: {
dino: d_var,
cati: d_catox,
items: []
},
methods: {
loadmore: function () {
axios.get(this.dino)
.then(response => {
this.items.push(...response.data);
this.dino = "/api/search/" + this.items[this.items.length - 1].lid + "/" + this.cati;
})
}
}
})
下面是我的 JSON
[
{
"Title": "HealthXP1"
},
{
"Title": "HealthXP2"
},
{
"Title": "HealthXP3"
},
{
"lid": "A1234567890"
}
]
解决方案
您可以使用 'v-if' 或 'v-show' 指令作为:
<div id="vue-app">
<div id="myList" v-for="item in items" v-show="item.Title">
<p>{{item.Title}}</p>
<button v-on:click="loadmore()" class="fluid ui button">Load More</button>
如果 item.Title 已定义,它将在列表中显示该项目,否则将不会在 DOM 中呈现
推荐阅读
- typescript - 使用 Firebase 请求发送电子邮件验证
- algorithm - 在abap中创建计算器
- python - Pandas:如何打印 groupby 值
- bootstrap-typeahead - 免费输入不适用于引导程序预先输入
- java - java.lang.ClassNotFoundException 这怎么可能?
- matlab - 如果具有动态字段的结构包含 NaN 值,则发出警告
- javascript - Javascript 使用 XMLSerializer 序列化 CDATA
- java - Rest API 响应(异常/错误/默认)
- ios - uitextview中的iOS多个元素
- c# - 无法在 WPF 中的 TextBox 上设置焦点