new Ext.Panel({
layout: 'absolute',
id: 'mainPanel',
border: false,
bodyStyle: "background-image:url(wall.jpg) !important"
});
console.log(Ext.getCmp('mainPanel').getStyle());
我尝试使用getStyle()
方法获取正文样式但在控制台上出现错误
未捕获的TypeError:对象[object Object]没有方法' getStyle'
然而getStyle
是面板方法之一,但为什么会出现此错误或任何人都可以更正我的代码?感谢
答案 0 :(得分:2)
new Ext.Panel({
layout: 'absolute',
id: 'mainPanel',
border: false,
bodyStyle: "background-image:url(wall.jpg) !important"
});
console.log(Ext.getCmp('mainPanel').getBodyStyle());
属性bodyStyle默认情况下应该有一个getter和一个setter,我无法理解你正在使用哪个ext,所以如果get方法不起作用,你只需要像这样分配bodyStyle。
console.log(Ext.getCmp('mainPanel').bodyStyle);
如果你想获得分配给dom属性的值,你可以这样做:
console.log(Ext.fly('mainPanel-body').style.backgroundImage);
Ext.fly返回'mainPanel-body'的HTML元素,它是面板的主体。
答案 1 :(得分:2)
您需要使用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);
}
});
&#13;
<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")/>
&#13;