带有XTemplate的ExtJs 4 Panel不能与IE 8一起使用

时间:2014-09-16 22:40:15

标签: extjs

这个问题困扰了我一段时间,我试图使用带模板的面板来显示一些数据。面板位于面板内,代码如下:

Ext.define('foo.bar.MainPanel', {
    extend: 'Ext.panel.Panel',
    ...
    items: [
        xtype: 'panel',
        title: 'Sub panel',
        tpl: 'Hello {name}'
    ]
})

通过从控制器加载商店来传递参数名称。的 e.g。 '你好迈克'可以在Chrome和FireFox上正确显示,但在IE 8上不显示任何内容(是的,IE 8,我知道它很糟糕,但必须使用它)

想法?任何想法都将不胜感激。

更新:

我用过

item.update(store) // item is the dom object, store is loaded from db

在控制器方面。它适用于chrome和firefox,但不适用于IE 8。

我删除了该行,并获取了所有具有xtemplate的项目,然后使用store更新,它可以正常工作。

不确定原因..

2 个答案:

答案 0 :(得分:1)

让我直截了当地说:这不是IE8与您向我们展示的代码段之间的问题。

我将您的代码段复制到我们的标准ExtJS HTML文件中,添加了所需的数据并将面板放入视口中:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link rel="icon" type="image/vnd.microsoft.icon" href="../favicon.ico">
    <title>Test</title>
    <link rel="stylesheet" href="resources/css/gray.css">
    <script id="microloader" type="text/javascript" src="ext/ext-all-debug.js"></script>
    <script>
        Ext.onReady(function() {
            Ext.define('foo.bar.MainPanel', {
                xtype:'x',
                extend: 'Ext.panel.Panel',
                items: [{
                    xtype: 'panel',
                    title: 'Sub panel',
                    tpl: 'Hello {name}',
                    data: {
                        name:'Alexander'
                    }
                }]
            });
            Ext.create('Ext.container.Viewport', {
                items:[{
                    xtype:'x'
                }]
            });
        });
    </script>
</head>
<body>
</body>
</html>

上面的代码给了我&#34; Hello Alexander&#34;在Chrome 37,IE11和IE8中。我猜你在你没有向我们展示的代码中做了一些IE8不兼容的hokey-pokey。

您是否已经在IE8中尝试过F12调试工具?仔细看看控制台日志?筛选出元素列表?

答案 1 :(得分:0)

我遇到了同样的问题我的XTemplate没有在IE上工作。它是关于在我的XTemplate中接收参数的函数,并且IE没有正确处理它。 通过替换

&#34; {[this.getCompanyDescriptionHTML({值})]}&#34;

&#34; {[this.getCompanyDescriptionHTML({值:值})]}&#34;

解决了我的问题

ExtJs XTemplate is not working with IE when it contains functions