我正在试图弄清楚如何从数据存储中检索一组对象,将SC.ManyArray传递给控制器,然后让一个视图遍历arrangeObjects以创建自定义SC.Views我想要能够附加到已附加到DOM的其他各种视图。
我所能找到的是如何使用SproutCore预构建的ListView / CollectionView / TableView等进行此操作的示例。但我需要将这些生成的自定义视图附加到其他视图。
在另一个相关但又独立的问题上,当我检查从MyApp.store.find()调用返回的对象时,dataHashes属性不包括我所包含的所有fixture。我不确定是不是因为我还没有创建一个调用数据的视图,因为如果我使用控制台我可以返回所有的灯具。
我还要补充一点,我正在检索的数据来自主记录的toMany关系。我正在使用绑定到SC.ArrayController的内容并使用路径MyApp.masterModel.relationProperty来检索SC.ManyArray。
编辑:我的意思是说MyApp.masterModelController.relationProperty
任何见解都会很棒。我一直试图解决这个问题2天了,似乎没有找到谷歌或SproutCore文档的任何信息。
答案 0 :(得分:0)
我已经明白了......
我最终做的是创建SC.CollectionView
并将内容绑定到用于管理数据集合的SC.ArrayController
。当我将此集合视图添加到childViews
数组时,它会自动将与模型相关的灯具提取到多个关系,并创建我创建的自定义视图,并将其设置为exampleView
上的SC.CollectionView
和使用这些对象更新了商店dataHashes
属性。
在我创建的自定义视图上显示我覆盖didAppendToDocument
方法的对象,获取了我想要附加到的视图的容器视图的路径,并使用appendChild
附加创建的自定义视图。
最后需要隐藏SC.CollectionView
,所以我只需将layout
属性设置为{top:-1000,left:-1000,width:0,height:0}
。
我不是100%确定这是解决这个问题的最好方法,但它确实有效(至少对我而言)。
我很想听到任何其他建议来实现这一目标。