当引用对象改变时,react .js视图不更新
Ractive.js view not updating when reference object changes
我的问题在http://jsfiddle.net/shrekuntu/ek2m25cj/7/
//--ractive code in jsfiddle
我有一个'工作站'列表,点击一个工作站设置一个可编辑对象'current_ws'。如果我更改'current_ws'的名称,它不会在工作站列表中显示它。我认为"工作站"对象在内存中更新,它只是没有在列表中反映屏幕上的变化。我怎样才能使它更新?
谢谢
react需要的不仅仅是对象引用相等才能"知道"这些值引用的是同一事物。好处是,一旦你建立了链接,你就不需要javascript来连接它们了。
对于0.7
(最新),使用键盘和当前索引而不是对象引用(参见http://jsfiddle.net/ek2m25cj/8/):
{{#workstations:i}}
<li on-click='set( "current", i )'>{{name}} ({{departments[department_id].name}})</li>
{{/workstations}}
</ul>
{{#if current != null}}
<div>
Name:<input type="text" value="{{ workstations[current].name}}">
</div>
{{/if}}
对于Ractive 0.8
edge的下一个版本,您可以使用link方法来利用单独的对象引用(参见github PR):
{{#workstations:i}}
<li on-click='link( "current", this )'>{{name}} ({{departments[department_id].name}})</li>
{{/workstations}}
</ul>
{{#if current}}
<div>
Name:<input type="text" value="{{ current.name }}">
</div>
{{/if}}
你可以启用magic模式,使用ES5访问器触发更新:
ractive = new Ractive({
magic: true,
// ...
};
参见working fiddle
相关文章:
- Backbone.js视图中的多个模型
- 带有jquery插件的backbone.js视图
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- Angular JS-视图不工作
- 为什么当我单击X时,所有项目都会从我的Backbone.js视图中删除
- 主干.js视图不会在页面加载时显示,但可以在控制台中与 jQuery 配合使用
- 单击'Backbone.js视图'不要工作
- 设置Sails js视图扩展不'不起作用
- 在 Node.js 视图中创建 OpenLayers 映射
- 支持使用Backbone.js视图加载异步模板
- Backbone.js视图可以有一个模型和一个集合吗
- backbone.js视图没有't由于异步获取而显示结果;t渲染
- 为什么我在尝试实例化一个空的backbone.js视图时出现类型错误
- 如何创建adonis.js视图
- Backbone.js视图未渲染
- Backbone js视图渲染点击方法未调用[Very Basic]
- 我可以't填充backbone.js视图
- 如何在anular.js视图中比较两个字符串
- 在Backbone.js视图中拖动gabilly.js事件
- 关于主干的困惑.js视图的渲染函数