我想将一些已解析的JSON数据从我的控制器推送到SC.SourceListView
(Sproutcore Showcase)。我使用SC.TreeController
并将解析后的JSON设置为内容:
MyApp.thisController = SC.TreeController.create({
treeItemChildrenKey: 'children',
content: []
});
属性treeItemChild
相应地设置为对象中的属性,并指向子对象。
SC.TreeController
中的内容包含几个基于以下结构的对象(JSON数据)(这是我想要推送到树视图中的其中一个对象的示例):
children: Array[3]
0: Object
children: Array[1]
data: "Boogie"
metadata: Object
__proto__: Object
1: Object
2: Object
data: "Blues"
metadata: Object
__proto__: Object
我想将data
属性放在我的SC.SourceListView
中,以便它可以读取。
Blues
Boogie
...
...
此内容现已绑定到SC.SourceListView
,并应在屏幕上显示data
属性:
viewname: SC.SourceListView.extend({
contentBinding: SC.Binding.oneWay('MyApp.thisController.arrangedObjects'),
exampleView: SC.ListItemView.extend({
contentValueKey: 'data'
}),
groupExampleView: SC.ListItemView.extend({
contentValueKey: 'data'
})
})
通过这个,我可以获得不同对象顶层的data
。但是没有下拉列表,它由更深层中的对象组成。如何正确设置此视图? SC.SourceListView
和SC.SourceListGroupView
之间有什么区别?
答案 0 :(得分:0)
SC.SourceListGroupView
是用于在SC.SourceListView
内呈现群组的实际列表项视图。目前,您正在使用
groupExampleView: SC.ListItemView.extend()
但是,默认情况下,SC.ListItemView
不知道如何将自身呈现为一个组,因此您应该将其更改为
groupExampleView: SC.SourceListGroupView.extend()
之后,它应该显示树。
最后(我假设这只是问题中的一个错字):你有
MyApp.thisController.anrrangedObjects
我很确定你的意思是
MyApp.thisController.arrangedObjects
如果将问题更改为SC.SourceListGroupView
无法解决您的问题,请添加评论或更新您的问题!如果您仍然需要帮助,那么查看您尝试呈现的JSON结构也会很有帮助: - )
编辑:好的,所以,我对此并不是100%肯定,因为我似乎无法找到任何文档,但根据SproutCore Showcase,您可能需要确保您的父对象(具有子级的对象)的group
属性设置为true。如果有帮助,请告诉我们!