Sencha Touch 2:数据初始化或如何在Sencha和javascript之间共享动态信息
我想快点开始。 我的问题是: 在ST2中,我用MVC模式构建了我的应用程序。我有一个商店,一个模型,一个控制器和视图(更多信息请向下滚动) 工作流程:Sencha Touch 2:数据初始化或如何在Sencha和javascript之间共享动态信息,javascript,model-view-controller,cordova,sencha-touch,sencha-touch-2,Javascript,Model View Controller,Cordova,Sencha Touch,Sencha Touch 2,我想快点开始。 我的问题是: 在ST2中,我用MVC模式构建了我的应用程序。我有一个商店,一个模型,一个控制器和视图(更多信息请向下滚动) 工作流程: 我单击列表项(列表视图,其中包含存储区中的元素列表) 控制器为事件“itemtap”执行操作 控制器功能正在查找主视图并推送详细视图 记录数据将被设置为数据 详细视图使用.tpl生成输出并使用数据 问题 现在我想添加一个按钮或链接来启用音频支持。 我想到了一个javascript函数,它使用Phonegap中的媒体方法来播放音频 我想在我的详
- 我单击列表项(
,其中包含存储区中的元素列表)列表视图
- 控制器为事件“itemtap”执行操作
- 控制器功能正在查找主视图并推送详细视图
- 记录数据将被设置为数据
- 详细视图使用
生成输出并使用数据.tpl
Ext.define('MyApp.view.ArtistContainer', {
extend: 'Ext.navigation.View',
xtype: 'artistcontainer',
layout: 'card',
requires: [
'MyApp.view.ArtistList',
'MyApp.view.ArtistDetail'
],
config: {
id: 'artistcontainer',
navigationBar: false,
items: [{
xtype: 'artistlist'
}]}
});
列表
Ext.define('MyApp.view.ArtistList', {
extend: 'Ext.List',
xtype: 'artistlist',
requires: [
'MyApp.store.ArtistStore'
],
config: {
xtype: 'list',
itemTpl: [
'<div>{artist}, {created}</div>'
],
store: 'ArtistStoreList'
}
});
Puh,有很多东西要读您可以看到一个示例,说明如何使用Sencha Touch“audio”组件从外部url加载音频。我没用过,但我认为它适合你的需要。声明它如下所示:
var audioBase = {
xtype: 'audio',
url : 'crash.mp3',
loop : true
};
我将重用该组件,并通过动态设置url加载歌曲或声音项。顺便说一句,我在Chrome和Ipad2上试用过,效果很好,但在HTC Desire Android 2.2默认浏览器上失败。我不确定您是否需要所有这些细节。我仍然不明白你真正想要的是什么:当点击链接时你需要播放音乐文件吗?我正试图在点击按钮或链接时播放音乐。但是音乐数据文件是动态的。我考虑只添加对javascript函数的引用,并在参数中添加文件名。javascript函数将处理所有音乐内容。
Ext.define('MyApp.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
artistContainer: 'artistcontainer',
},
control: {
'artistlist': {
itemtap: 'showDetailItem'
}
}
},
showDetailItem: function(list, number, item, record) {
this.getArtistContainer().push({
xtype: 'artistdetail',
data: record.getData()
});
}
});
var audioBase = {
xtype: 'audio',
url : 'crash.mp3',
loop : true
};