Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
Sencha touch Sencha Touch 2:获取列表中单击元素对应的动态url_Sencha Touch_Sencha Touch 2_Sencha Touch 2.1 - Fatal编程技术网

Sencha touch Sencha Touch 2:获取列表中单击元素对应的动态url

Sencha touch Sencha Touch 2:获取列表中单击元素对应的动态url,sencha-touch,sencha-touch-2,sencha-touch-2.1,Sencha Touch,Sencha Touch 2,Sencha Touch 2.1,我试图在单击列表中的项目后动态检索url。 目标是打开与单击的元素对应的html页面 以下是使用的代码: Ext.define('FirstApp.view.Details',{ extend:'Ext.Panel', xtype:'details', requires: ['Ext.Ajax'], config: { listeners: { activate: 'onActivate' },

我试图在单击列表中的项目后动态检索url。 目标是打开与单击的元素对应的html页面

以下是使用的代码:

Ext.define('FirstApp.view.Details',{
    extend:'Ext.Panel',
    xtype:'details',

    requires: ['Ext.Ajax'],

    config: {
        listeners: {
            activate: 'onActivate'
        },        

        url: 'MyHtml.html' // Work fine if statically
        url: '{link}', // But this doesn't work dynamically 

        tpl:'<h1>{link}</h1>' // However the desired data is displayed right here
    },

    onActivate: function(me, container) {
        Ext.Ajax.request({
            url: this.getUrl(),

            method: "GET",
            success: function(response, request) {
                me.setHtml(response.responseText);
            },
            failure: function(response, request) {
                me.setHtml("failed -- response: " + response.responseText);
            }
        });
    } 
Ext.define('FirstApp.view.Details'{
扩展:'Ext.Panel',
xtype:“详细信息”,
需要:['Ext.Ajax'],
配置:{
听众:{
激活:“onActivate”
},        
url:'MyHtml.html'//如果是静态的,则工作正常
url:“{link}”,//但这不能动态工作
tpl:'{link}'//但是所需的数据显示在这里
},
onActivate:函数(me、容器){
Ext.Ajax.request({
url:this.getUrl(),
方法:“获取”,
成功:功能(响应、请求){
me.setHtml(response.responseText);
},
故障:功能(响应、请求){
setHtml(“失败——响应:+response.responseText”);
}
});
} 
你有什么想法吗?
提前感谢您的帮助。

{link}在tpl中工作,因为tpl属性处理字符串就像处理XTemplate一样。您的(自定义)url属性处理起来就像处理字符串一样

{link}到底在哪里来自?由于您使用的是标准面板,我只能假设您正在使用此链接值设置面板上的数据属性。如果是,请通过setUrl同时设置url。否则,请在updatedata上添加一个侦听器,以便在模板数据更改时调用侦听器并更新url