sencha touch 将变量从组件传递到组件

Posted

技术标签:

【中文标题】sencha touch 将变量从组件传递到组件【英文标题】:sencha touch pass variables from component to component 【发布时间】:2011-11-20 23:34:48 【问题描述】:

我知道通过调用 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 中的数据?

谢谢

----------------编辑------

我添加了我的完整代码。在列表视图中,我调用了 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
                            

            
        
    ]

【问题讨论】:

看那个代码,我猜可能是 this.lng & this.lat ? @MozMorris 我忘了提到我确实尝试过但没有成功。虽然它不会引发任何错误,但 GMap 根本没有显示。 【参考方案1】:

您还必须将新记录推送到您的项目数组中。

this.down('map').setMapCenter(
    latitude: newRecord.data.latitude,
    longitude: newRecord.data.longitude
);

我通常将 记录(而不是数据)推送到视图中,然后使用 updateRecord 事件接受该记录并将其进一步推送到 items 数组中。

查看 Sencha 网站上的 Navigationview 示例,在 Show.js 视图文件中,他们正是这样做的。

【讨论】:

以上是关于sencha touch 将变量从组件传递到组件的主要内容,如果未能解决你的问题,请参考以下文章

sencha touch规范

从控制器将变量应用于视图中的按钮?Sencha Touch

是否可以覆盖 Sencha Touch 中特定组件的 SASS 文件?

在 Sencha Touch 2 中填充视图

将数据从控制器传递到另一个视图并在 sencha touch 中设置标签的值

Sencha Touch - 为啥在我的自定义组件中未定义此功能?