我尝试在listView中设计自定义视图。 代码如下所示:
Myapp.listView=SC.ScrollView.design({
layout: { centerX: 0, width:100, top: 70, bottom:36},
contentView: SC.ListView.design({
contentBinding: SC.Binding.oneWay('Myapp.listController'),
rowHeight: 36,
exampleView:Myapp.CustomItemView.design({
})
})
});
MyApp.CustomItemView = SC.View.design({
childViews:['imageView','labelView'],
imageView: ....,
labelView:SC.LabelView.design({
})
});
我的问题是: 我应该如何绑定值以使CustomItemView中的labelView在listController中显示文本信息?
答案 0 :(得分:1)
感谢您的回答。
昨天玩游戏时,我最终得到了这个解决方案。
我制作了一个依赖于两个属性的通用视图(libelle =静态文本,valeur =动态文本)。然后我可以使用相同的模式创建多个视图,只需在所有实例中更改“valeurBinding”属性。无论如何,我不确定破解渲染功能是做事的好方法,但它现在有用。
MyFrameWork.LabelDataView = SC.View.extend
({
libelle: '',
valeur: '',
render: function(context, firstTime) {
context = context.begin('span').addClass('ldv-label').push(this.get('libelle') + ': ').end();
context = context.begin('span').addClass('ldv-value').push(this.get('valeur')).end();
sc_super();
}
});
答案 1 :(得分:0)
就像Ramesh所说,你的customItemView应该是这样的:
MyApp.CustomItemView = SC.View.design({
childViews:['imageView','labelView'],
imageView: ...
labelView: SC.LabelView.design({
valueBinding: ".parentView.content.textInfo"
})