【发布时间】:2014-09-22 07:17:10
【问题描述】:
我有一个在客户端订阅的服务器端集合。客户端没有服务器端集合的写入权限。
我只想在客户端修改集合,并在我停止订阅/移动到另一条路线时销毁该更改。
这有可能吗?
感谢您的回答。
【问题讨论】:
-
仅客户端收集怎么样? ClientCollection = new Meteor.Collection(null);
标签: javascript meteor
我有一个在客户端订阅的服务器端集合。客户端没有服务器端集合的写入权限。
我只想在客户端修改集合,并在我停止订阅/移动到另一条路线时销毁该更改。
这有可能吗?
感谢您的回答。
【问题讨论】:
标签: javascript meteor
我会在客户端上使用转换,如下所示:
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。
【讨论】: