2017-01-24 3 views
0

ES2015クラスの新しいインスタンスが作成されたときにDOM要素をコンテナに追加する必要があります。コンストラクタからメソッドを呼び出すことは不可能であるように見えます。コンストラクタに$('#container').append(this.html);を追加するよりも、よりエレガントES2015:construcrorの呼び出しメソッド

let titleCounter = 0; 
 

 
class Header{ 
 
\t 
 
    \t constructor(){ 
 
    \t titleCounter++; 
 
    \t \t this.id = 'title'+titleCounter; 
 
     this.html = ` 
 
     \t <div class="${this.id}" style="background-color: blue;">Title</div> 
 
     `; 
 
     
 
     //addDOMtoField(); // don't work 
 
     $('#container').append(this.html); 
 
    \t } \t 
 
     
 
    addDOMtoField(){ 
 
    \t $('#container').append(this.html); 
 
    } 
 
} 
 

 
let instance1 = new Header();
#container{ 
 
    min-height: 5px; 
 
    background-color: green; 
 
    padding: 5px; 
 
    color: white; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='container'> 
 
    
 
</div>

何か?

+1

'do not work' - デベロッパーツールコンソールを見ると、エラーが表示されます –

答えて

3

addDOMtoField()の代わりにthis.addDOMtoField()を使用してください。

+0

答えてくれてありがとう! –

関連する問題