我有一个服务器端集合,我在客户端订阅它。客户端没有对服务器端集合的写入权限。
我只想在客户端修改集合,并在停止订阅/移动到另一个路由时销毁该更改。
这可能吗?
感谢您的回答。
最佳答案
我会在客户端使用转换,如下所示:
var Books = new Meteor.Collection('books', {
transform: function(doc){
/*
A doc looks like this:
{
_id: "...",
title: "A nice title..."
}
*/
doc.clientTitle = new ReactiveVar("")
doc.setClientTitle = function(title){
this.clientTitle.set(title)
}
doc.getTitle = function(){
var clientTitle = this.clientTitle.get()
if(clientTitle == ""){
return this.title
}else{
return clientTitle
}
}
}
})
然后使用 theBook.getTitle()
获取标题,并使用 theBook.setTitle('The new title')
仅在客户端上更新它。
注意:ReactiveVar
来自包 reactive-var
。
关于javascript - Meteor:仅在客户端修改集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968540/