你可以考虑我的vuejs一个蹒跚学步的worlđ如何查找元素在HTML中需要更新的.vue文件:
在我的应用程序我取一些帖子中存在的火力数据库
每个帖子都有一个给予好评和downvote按钮就像堆栈溢出,用户可以给予好评或downvote(这是完全u到他们)
* Eeverything样票获取更新数据BAE和休息所有的伟大工程**
这里谈到的问题
火力地堡提供监听事件监听器每当有每个孩子的变化即后(在我的情况upvotes。 Downvotes)
我这个监听器添加到created()生命周期挂钩,这样,当有在他们的变化被其他用户
这里的票更新下面我.vue文件的简化代码
{{ post.up}}
{{ post.down }}
export default{
created:{
const ref = this.$firebase.database().ref();
ref.child("posts").on('child_changed', function(post) {
var upvotes = post.val().up;
var downvotes = post.val().down;
//how to look up the element in the HTML above that needs to be updated:
//if it were plain javascript we would have done something like this
//var postElm = document.getElementById(post.key);
//postElm.getElementById("upvotes").innerHTML = upvotes;
//postElm.getElementById("downvotes").innerHTML = downvotes;
});
}
}
我的问题:
如何来查找upvotes和downvotes元素在HT ML上面需要更新的模板:
根据docs我们可以注册一个参考ref一个元素,但有这样的纸条,上面写着:
,因为裁判自己创建作为渲染函数的结果,你不能在初始渲染中访问它们 - 它们还不存在! $refs也是非反应性的,因此您不应该尝试在模板中将其用于数据绑定。
凭什么我参考的元素来更新他们
+0
我觉得'$ refs'在挂载的生命周期钩子中可用。但我也怀疑你是以错误的方式接近这一点。我只是不太明白你想要说什么正确的方法。 –
+0
@RoyJ因为许多用户将upvoting或downvoting我想要更新的票价值,,,,因为我使用的是firebase事件监听器。 –