繁体   English   中英

流星:仅在客户端修改集合

[英]Meteor: Modify collection on client side only

我在客户端订阅了一个服务器端集合。 客户端无权访问服务器端集合。

我只想在客户端上修改集合,并在我停止订阅/移动到另一条路线时销毁该更改。

有可能吗?

谢谢您的回答。

我会在客户端上使用转换,如下所示:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM