在EmberJS中构建一个自动刷新的嵌套列表
Building a auto-refreshing, nested List in EmberJS
如何在EmberJS中动态生成和更新嵌套列表?
我的模型看起来像:
App.Node = Em.Object.extend({
id: 0,
parentId: 0,
title: ""
});
parentId
表示直接父元素的id
。
如果我有数据(位于控制器内容中的模型实例),如:
[{
id:1,
title:"Parent Element"
}, {
id:2,
parentId:1,
title:"Child Element"
}]
我想得到一个列表,比如:
<ul>
<li>Parent Element</li>
<ul>
<li>Child Element</li>
</ul>
</ul>
这是我得到的:http://jsfiddle.net/LhTCm/(不可运行,但很容易理解)。
正如我之前提到的,我想构建一个嵌套列表,一旦模型数据发生变化,ui就会自动更新。
希望你能帮忙!
首先需要的是一个更好的对象模型。将parentID存储在对象上并没有多大帮助。您需要对对象的实际引用,最好是双向引用,如果您只想显示它,只存储子对象也可以。你的模型应该是这样的:
App.Node = Em.Object.extend({
id: null,
parent: null,
title: "",
children: []
});
然后,当你加载数据时,你必须确保你正确地映射了它们。
你的实际模板看起来像这个
<ul>
{{#each node}}
<li>{{title}}
{{#each children}}
<ul><li>{{title}}</li></ul>
{{/each}}
</li>
{{/each}}
</ul>
如果您的模型变得越来越复杂,您可能还需要查看ember数据(https://github.com/emberjs/data)
相关文章:
- 如何刷新列表框内容onclick或blur事件
- 如何在用户返回和上一个按钮时刷新下拉列表
- 使用angularJs中的数据库数据源刷新下拉列表
- 我创建了一个Javascript待办事项列表,但想知道如何在浏览器刷新后保留这些帖子
- JQuery刷新列表效果-淡入淡出问题
- 当ons惰性重复检测到更改时,如何使用ons旋转木马刷新列表
- 如何使用 List.js 正确刷新列表
- 动态更改的下拉列表不会刷新.(雾虫)
- 在jqgrid编辑中动态刷新多选下拉列表
- ajax更新后jQuery列表刷新
- AngularJS、DropzoneJS、JSON——上传成功后刷新文件列表
- 刷新数据时,下拉列表以 ng-重复形式关闭
- jQuery Mobile 在数据库查询后刷新列表视图
- Ajax 调用删除和刷新列表不起作用
- 用如何刷新列表填充 jquery 页面
- 如何刷新列表以从服务获取新数据
- 如何使用Kendo数据源中的新数据来刷新列表视图
- 套接字.已连接客户端的IO刷新列表
- 在 jquery 移动版中刷新列表
- 使用jQuery UI可排序插件添加项目后刷新列表