new Ext.Panel({
layout: 'absolute',
id: 'mainPanel',
border: false,
bodyStyle: "background-image:url(wall.jpg) !important"
});
console.log(Ext.getCmp('mainPanel').getStyle());
我正在尝试使用getStyle()
方法获得身体样式,但它会在控制台上出现错误
uck offerate typeError:对象[对象]没有方法'getStyle'
但是,getStyle
是面板方法之一,但是为什么此错误或任何人都能纠正我的代码?谢谢
您需要使用bodyStyle
面板对象属性。这样,它将在几乎所有版本的 extjs 。
Ext.application({
name: 'Fiddle',
launch: function () {
var panel = Ext.create('Ext.panel.Panel', {
title: 'Hello',
width: 200,
html: '<p>World!</p>',
layout: 'absolute',
id: 'mainPanel',
border: false,
bodyStyle: "background-image:url(wall.jpg) !important",
renderTo: Ext.getBody()
});
console.log(Ext.getCmp('mainPanel').bodyStyle);
}
});
<script src="http://cdn.sencha.com/ext/gpl/4.2.0/ext-all.js"></script>
<link type="text/css" rel="stylesheet" href="http://cdn.sencha.com/ext/gpl/4.2.0/resources/css/ext-all.css")/>
new Ext.Panel({
layout: 'absolute',
id: 'mainPanel',
border: false,
bodyStyle: "background-image:url(wall.jpg) !important"
});
console.log(Ext.getCmp('mainPanel').getBodyStyle());
属性BodyStyle应该具有一个Getter和一个设置器,我不明白您使用的是哪个EXT,因此您可以单纯地将BodyStyle分配到这样的情况下,如果Get方法不起作用。
console.log(Ext.getCmp('mainPanel').bodyStyle);
如果您想将值分配给DOM属性,则可以这样做:
console.log(Ext.fly('mainPanel-body').style.backgroundImage);
ext.Fly返回" Mainpanel-Body"的HTML元素,该元素是面板的主体。