Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从子视图访问parentView中的属性_Javascript_Sproutcore - Fatal编程技术网

Javascript 从子视图访问parentView中的属性

Javascript 从子视图访问parentView中的属性,javascript,sproutcore,Javascript,Sproutcore,因此,我正试图使splitview在我的应用程序中更具可重用性,但我现在正努力使两个内容视图中的绑定更易于设置 My topLeftView包含一个SC.ScrollView,它的contentView是SC.ListView。我希望在使用splitview时能够设置ListView的contentBinding、selectionBinding、contentValueKey和contentCheckboxKey属性,因此在ListView使用的splitview本身中有一些属性。这有什么意义

因此,我正试图使splitview在我的应用程序中更具可重用性,但我现在正努力使两个内容视图中的绑定更易于设置

My topLeftView包含一个SC.ScrollView,它的contentView是SC.ListView。我希望在使用splitview时能够设置ListView的contentBinding、selectionBinding、contentValueKey和contentCheckboxKey属性,因此在ListView使用的splitview本身中有一些属性。这有什么意义吗

这就是我所拥有的:

SomeApp.MasterDetailView = SC.SplitView.extend({
...
masterViewControllerContent: 'SomeApp.someController.arrangedObjects',
masterViewControllerSelection: 'SomeApp.someController.selection',
masterViewControllerValueKey: "someKey",
masterViewControllerCheckboxKey: undefined,

topLeftView: SC.ScrollView.design({
   ...
            contentView: SC.ListView.design({
                contentBinding: masterViewControllerContent,
                selectionBinding: masterViewControllerSelection, 
                contentValueKey: masterViewControllerValueKey, 
                contentCheckboxKey: masterViewControllerCheckboxKey, 
        })
    }),

bottomRightView: SomeApp.DetailsView.design({
    ...
})
}


引用masterViewControllerContent会出现错误,但在引用masterViewControllerContent时,我似乎找不到任何方法转到splitView的范围。我解决问题的方法不对吗?对如何做到这一点有什么建议吗?

每个视图都有一个“parentView”属性。因此,在ListView中,您可以绑定到

'.parentView.parentView.masterViewControllerContent'
如果要创建一个新的视图App.MasterDetailView,则可以在主细节上设置内容,并将子视图绑定到该内容


如果您只有一个带有滚动条和列表的SplitView,也就是说SplitView不是您要增加的特殊视图,那么我会将列表直接绑定到它的内容

嗨,你能清楚地定义一下你的阶级关系是什么吗?我不太清楚你的意思是什么?类之间的关系是,它们在SomeApp.MasterDetailView中创建为ChildView…仔细考虑后,我同意您不将其放在splitview中….=谢谢…@jakob,酷。请注意,如果splitview出于某种原因确实需要该内容,那么除了在ListView上定义绑定之外,还可以在split视图中定义绑定。这就是绑定的好处。更新时,更改会被传播出去。@jakob,我误解了你对这个问题的意图,所以我澄清了我的答案。如果要创建需要在splitview级别访问内容的特殊视图MasterDetail,则可以绑定到父视图中。