derby -自动“刷新”在变化
derby - Automatic "refresh" on changes
我正在尝试使用derbyjs,但无法弄清楚使用订阅的实时更新是如何工作的。
目前,该应用程序只是一个尽可能基本的帖子标题列表,并在末尾添加一个文本字段,可以添加新帖子:
<Title:>
Sample derby app
<Header:>
<!-- This is a component defined in the /ui directory -->
<ui:connectionAlert>
<Body:>
<h1>Posts</h1>
<app:postList>
<input type="text" value="{_fieldValue}"><input type="button" value="add" x-bind="click:add">
<postList:>
{{#each posts}}
<app:post>
{{/}}
<post:>
<div>{{title}}</div>
应用程序只有"/"路由,它应该订阅所有的帖子。相反,回调只在第一次从数据库加载帖子时调用,而不是在任何更改时调用:
// Derby routes can be rendered on the client and the server
get('/', function(page, model, params) {
model.subscribe(model.query("posts").allPosts(), function(err, posts) {
page.render({
posts:posts.get()
})
})
})
// CONTROLLER FUNCTIONS //
ready(function(model) {
this.add = function(){
model.set("posts."+model.id(),{title:model.get("_fieldValue")});
model.set("_fieldValue","");
}
})
"getAllPosts ()"-motif在服务器index.js文件中定义:
store.query.expose("posts","allPosts",function(){
return this;
});
目前发生的是,当我按下"添加"按钮,一个新的帖子被添加到数据库中,但我只能在手动页面刷新后看到列表中的帖子。如果我在两个单独的标签中打开页面2次,并在一个标签中添加新帖子,则新帖子不会自动显示在另一个标签中。
我错过什么了吗?
为了进行实时绑定,您需要使用单括号。
尝试将<postList:>
更改为:
<postList:>
{#each posts as :post}
<app:post>
{/each}
<post:>
<div>{:post.title}</div>
我还添加了as :post
以确保路径是正确的。这避免了您可能遇到的许多错误。
如果这还不能解决问题,或者你还有任何问题,请加入freenode上的#derbyjs并给我(switz)留言。
相关文章:
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- 单击页面上的链接后高度发生变化
- 如何解决Yii中的页面刷新问题
- AngularJS:当过滤值发生变化时刷新DOM
- 下拉值在Chrome中刷新后会发生变化,但在Firefox中不会更改
- 摘要循环显示我的数组没有变化(视图不会刷新)
- 当数据库表发生变化时,在Grails中自动刷新.gsp
- 刷新javascript页面而不刷新HTML,而是作为窗口'宽度变化
- 当不同文件的内容发生变化时,如何刷新HTML文件
- 如何自动刷新页面以显示秒的变化
- 重新创建lifehacker ajax文章页面刷新,右菜单始终可见,url &条的变化
- 身体内容必须更新没有头和脚的变化,没有页面刷新
- 我的服务不会立即显示变化.必须刷新浏览器
- 相同的图形在我的视图中重复出现,在页面刷新时,图形发生了变化
- 如何使用Rails 4轮询数据库中的一个值,如果值发生变化,则使用AJAX进行刷新
- 如何刷新页面每当我的js数据文件的变化
- 如何在使用放大镜js时,当src发生变化时刷新img src
- 刷新潜水和动画的变化
- derby -自动“刷新”在变化