1) 由于目前 ShareJS 的实现,至少只能订阅(获取)整个文档。这意味着您不能仅从title
文章中获取服务器。解决方法:
- 您可以在 Express 路由器中创建方法,该方法将返回
id
+列表title
。您可以从客户端发出 XMLHttpRequest 请求(像往常一样)以获取它并放入客户端模型。
- 您可以拆分集合。第一个
titles
,第二个texts
- 也许还有更多
2) 在这个例子中,只有在文章加载到客户端后,html 才会开始渲染:
app.get('/articles/:id', function(page, model, params, next) {
// let's load the article
model.subscribe('/articles/' + params.id, function(err) {
// article is loaded now let's start to render html
page.render('article');
});
});
在此示例中,html 将在文章加载之前开始渲染,并且在文章加载后 html 将填充数据(如果您在模板中使用 {} 而不是 {{}}):
app.get('/articles/:id', function(page, model, params, next) {
// let's load the article
model.subscribe('/articles/' + params.id, function(err) {
// article is loaded and html is filled with data
});
// Still no article, let's render page without data
page.render('article');
});