【发布时间】:2015-08-12 18:10:52
【问题描述】:
我正在使用 VueJS 在站点中显示活跃用户。当用户激活时,Pusher 会发送 JSON 及其详细信息 -
{
"token": "97LbfNs7pfPbzVLo",
"first_name": "Joe",
"last_name": "Smith",
"avatar": "http://demo.com/avatar.jpg",
"phone": "255-255-2555",
"available" : true,
"agencies": [
{
"name": "Some company",
"slug": "some-company"
}
]
}
当用户退出时,他们的token 与available: false 一起发送。然后我需要将它们从我的 Vue data 数组中删除,这就是我卡住的地方。
这是我的 Vue JS 中的 Data 数组(非常基础):
data: {
responders: []
}
更新
这是我想要完成的一个非常基本的想法,仅来自 Vue methods 之外。基本上我只需要从数据数组中删除一个项目,我认为这更多的是与 Javascript 相关的问题,而不是特定于 Vue 的问题。
@michaelsnowden 建议将用户存储为对象而不是数组,但我不确定如何实现这一点。我尝试过:
addUser: function() {
var user = {'asdasdasdop': {name: "Joe"}};
this.users.push(user);
}
这给了我:
"users": [
{
"asdasdasdop": {
"name": "Joe"
}
}
],
但除此之外,我无法弄清楚如何访问这些值或根据令牌从数组中删除一个项目。任何帮助将不胜感激 - 我没有添加任何问题,但我一生都无法弄清楚如何删除某些东西。
【问题讨论】:
-
激活/非激活的令牌 ID 是否相同?
-
是的,两者都使用相同的令牌 - 该令牌是我之前使用普通 jQuery 删除用户的方式
-
我觉得你没有提供足够的代码或描述它不够好让我给你一个好的答案。这是一个可能对某些人有所帮助的小提琴:jsfiddle.net/qm8csjv9/1 这是一个小提琴,您可以“从 Vue 方法之外”做到这一点jsfiddle.net/qm8csjv9
标签: javascript html json vue.js