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

时间:2013-12-25 16:25:28

标签: sencha-touch sencha-touch-2 sencha-touch-2.1

我试图在点击列表中的项目后动态检索网址。 目标是打开与clicked元素对应的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);
            }
        });
    } 
你知道吗? 在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

{link}究竟来自哪里?由于您使用的是标准面板,我只能假设您使用此链接值在面板上设置数据属性。如果是这样,只需通过setUrl同时设置url。否则,在 updatedata 上添加一个监听器,这样无论何时模板数据发生更改,都会调用监听器并且您可以更新该URL。