我理解通过调用MyDetailView.Update(record.data)我将record.data发送到MyDetailView并可以在xtemplate中访问它们:
tpl:'<h1>{title}></h1>'
此外,我想在xtype'map'的项目中使用record.data:
items: [
{
xtype: 'map',
getLocation: true,
padding: '20 0 0 0',
mapOptions: {
center : new google.maps.LatLng(lng, lat), // <-- here record.data.lat
zoom : 15,
mapTypeId : google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.DEFAULT
}
}
}
]
如何访问MyDetailView中的数据?
由于
---------------- EDIT ------------------
我添加完整的代码。在列表视图中,我调用了AppDetailcard.update(record.data)。
var AppDetailcard = new Ext.Panel ({
id: 'detailcard',
styleHtmlContent: false,
tpl: 'my {lat}', //<-- here it works
fullscreen: true,
dockedItems: [AppDetailcardToolbar],
items : [
{
xtype: 'map',
getLocation: true,
mapOptions: {
center : new google.maps.LatLng(data.lat, data.lng), //<-- here it does not
zoom : 15,
mapTypeId : google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.DEFAULT
}
}
}
]
答案 0 :(得分:0)
您还必须将新记录推送到您的项目数组中。
this.down('map').setMapCenter({
latitude: newRecord.data.latitude,
longitude: newRecord.data.longitude
});
我通常将记录而不是数据推送到视图中,然后使用updateRecord事件接受该记录并将其推送到items数组中。
查看Sencha网站上的导航视图示例,在Show.js视图文件中,他们就是这样做的。