我在设置meteor-share.js时遇到问题。
基本上我跟着他们的README。
{{> sharejsAce docid=docid id="editor"}}
这里的第二个docid
是多少?我想这是模板的辅助函数,它包含我要同步的文档的唯一名称?
第一个docid
是什么?这是meteor-share.js的关键字吗?
一旦我将其包含在html(或模板)中,我需要在js端(客户端/服务器?)做什么?有什么我应该做的模板(sharejsAce)来共享文本吗?
我没有在页面中维护多个编辑器,因此我不确定应该包含哪些内容并从演示中排除。
我想知道这是否只是API中的一个错误。当我改为codemirror编辑器时,它只是工作。错误是说:
未捕获的TypeError:无法读取未定义的属性“范围”
答案 0 :(得分:1)
我假设您使用的是1.2.0版。如果是这种情况,则需要强制降级到1.1.9版。
您可以通过运行以下命令来执行此操作:meteor add mizzao:sharejs-ace@=1.1.9
或在.meteor/versions
文件中手动更改版本:mizzao:sharejs-ace@1.1.9
。
在GitHub上了解有关此问题的详情。
这里的第二个docid是什么?我想这是它的辅助功能 包含我想要的文档的唯一名称的模板 同步?
docid
中的{{> sharejsAce docid=docid id="editor"}}
参数用于指定应在编辑器中显示的文档。因此, second docid
是辅助函数的名称,它只返回已选择的文档_id
:
Template.docItem.events =
"click a": (e) ->
e.preventDefault()
Session.set("document", @_id)
Template.editor.helpers
docid: -> Session.get("document")
一旦我将其包含在html(或模板)中,我需要做什么 js方面(客户端/服务器?)?有什么我应该做的 模板(sharejsAce)共享文本?
如果您想使用Meteor集合镜像ShareJS数据并使用ShareJS用户访问控制,您需要创建一个设置文件,如demo:
{
"sharejs": {
"options": {
"accounts_auth": {
"authorize": {
"collection": "documents",
"token_validations": {
"or": {
"invitedUsers": "is_in_array",
"userId": "is_equal"
}
},
"apply_on": [
"read",
"update",
"create",
"delete"
]
},
"authenticate": {
"collection": "users",
"token_validations": {
"_id": "is_equal"
}
}
}
}
}
}