2012-10-02 2 views
0

ExtJs를 처음 사용합니다. 패널 html 콘텐츠를 가져 오기위한 패널에서 문제가 발생했습니다.ExtJs의 패널에서 html 콘텐츠를 얻는 방법

xtype : 'panel', 
id : 'first_block', 
html : '<p>Hi this is belongs to first block.</p>', 
listeners : { 
    render : function(c) { 
     c.body.on('click', function() { 
      alert('' + this.id); 
      alert(Ext.getCmp('first_block').items.getAt(0).getValue()); 
     }); 
} 

나는 HTML 콘텐츠를 못하고 있어요,하지만 난 "first_block 몸"과 같은 ID를 얻고있다.

미리 감사드립니다.

답변

5

html 속성은 구성 요소 내용에 원하는 HTML을 정의합니다.이 경우 Ext.Panel입니다. 당신이 원하는 모든 일부 내용으로 div 경우

Ext.Panel들 등 머리글, 바닥 글 도구 모음,

같은 것들을 제공하기 위해 div의 몇 레이어를 만들 당신은 대신 Ext.Component 사용하고 싶습니다. 구성 요소에는 body이 없으므로 코드에서 몇 가지가 변경됩니다. 내가 함수 호출의 this 범위를 지정하여 on 호출에 세 번째 매개 변수를 추가

xtype : 'component', 
id : 'first_block', 
html : '<p>Hi this is belongs to first block.</p>', 
listeners : { 
    render : function(c) { 
     c.on('click', function() { 
      alert('' + this.id); 
      alert(this.el.dom.innerHTML); 
     }, this); 
} 

알 수 있습니다. 또한, 엘리먼트의 innerHTML을 출력하도록 경고를 편집했습니다.

UPDATE :

당신이 레이아웃이 구성 요소를 사용하려는 경우, 그것이 될하기 위해 유형 box 될 필요가 의미의 heightwidth 세트를 가질 수 있도록해야 할 수도 있습니다 Ext.BoxComponent.

0

Ext.getElementById ('yourId'). innerHTML

관련 문제