什么是tpl以及如何在extJS上下文中解释它?

时间:2015-07-16 17:45:16

标签: javascript extjs

Ext.define('App.view.util.NavigationView', {
    extend: 'Ext.panel.Panel',

    tpl: [''
        ,'<ul class="app-navigation-container">'
        , '<tpl for=".">'
        , '<a href="#{navigationToken}">'
        ,'<li class="app-navigation-pane {iconCls}">'
        , '<h2>{title}</h2>'
        , '<p>{description}</p>'
        , '</li>'
        , '</a>'
        , '</tpl>'
        , '</ul>'
        , '<div class="x-clear"></div>'
    ]
});

我是ExtJS的新手,我正在调试一些涉及ExtJS的小客户端问题。我怎样才能更新 其他文件中的navigationToken变量。我有一些听众喜欢&#39;选择&#39;我想在其中更改navigationToken值的监听器。

1 个答案:

答案 0 :(得分:0)

您的组件有一个名为“data”的属性,它是扩展面板的一部分。此属性用于提供“template”中定义的tpl数据,可以将其设置为属性。

因此,在您的侦听器中,您可以通过调用

来设置data属性
var data = [{
    navigationToken: 'navigationToken1',
    iconCls: 'iconCls',
    title: 'title1',
    description: 'description1'
}, {
    navigationToken: 'navigationToken1',
    iconCls: 'iconCls',
    title: 'title2',
    description: 'description2'
}];

[view].update(data);

其中[view]应该引用你的'App.view.util.NavigationView'。