javascript - 如何为每个新评论创建一个新 ID,同时确保它与使用 Vue.js 从 Api 获取的其他评论不冲突?
问题描述
我正在构建一个从 API 获取数据的小型博客。API 返回一个对象数组,每个对象包括帖子,有时还包括另一个包含评论和特定评论 ID 的对象。如何收集使用过的 ID,以便在添加另一条评论时它是唯一的,而不是已经使用过的?
获取的数据示例:
{
"articles": [
{
"id": "111",
"title": "How do like them apples?",
"text": "Lorem ipsum elit ante aliquam blandit nulla gravida, elementum sollicitudin ipsum litora rhoncus urna, nec in pulvinar quam libero dictumst. Duis hac augue auctor sed proin senectus ante purus est, condimentum mattis nostra non porttitor sit nibh ornare etiam quisque eros ultricies eget taciti inceptos etiam ornare feugiat pretium. Varius ullamcorper imperdiet tortor quisque odio ullamcorper pulvinar, tortor semper primis consequat libero erat, adipiscing mi donec semper duis magna.",
"author": "simon",
"category": "mobile",
"comments": [
{
"id": "1",
"author": "shaun",
"text": "Lorem ipsum varius senectus nostra lectus nunc sollicitudin."
},
{
"id": "2",
"author": "william",
"text": "aliquam blandit nulla gravida"
}
]
},
{
"id": "112",
"title": "The new normal....",
"text": "Lorem ipsum molestie inceptos ullamcorper vel faucibus curae amet, lacinia et euismod tempus fringilla blandit litora risus in, accumsan mollis netus leo posuere adipiscing aliquam.Nibh nunc volutpat integer class mollis tellus cubilia, quisque elit proin sagittis netus cubilia, per aenean neque est dictum phasellus sapien eget fringilla ligula hac nostra platea.",
"author": "william",
"category": "mobile",
"comments": [
{
"id": "3",
"author": "shaun",
"text": "lacinia et euismod tempus fringilla blandit"
}
]
}
解决方案
您的 Vue 数据中应该有一个“id”数组,如下所示:
var vm = new Vue({
...
data:{
ids : []
}
})
从 API 获取对象后,您应该检查它是否已经存在:
var vm = new Vue({
...
methods:{
getPosts: function() { ... },
insertId: function(id){
if(this.ids.includs(id)){
//handle the duplicate id
}
}
})
推荐阅读
- javascript - 在 Node express 服务器中导入 Three.js 模块
- ios - 实例方法“flatMap”要求“String”符合“ObservableConvertibleType”
- hash - 短小写字符串的标识哈希码
- swift - SwiftUI:在 ViewModel 中预览数据
- c++ - CoreCLR 中的 Instrumentation Profiler - 将 HelperAssembly 加载到 dotnet 进程的方法
- android - 如何覆盖可访问性类名称
- python - 按特定顺序创建列名 pandas python
- python - 如何找到列表中的最后一个和倒数第二个单词?
- android - 如何在 Android 中为 ImageSpan 应用背景颜色?
- sql - SQL Server:用于查找大于传递值的最新值的索引