私はこのクラスをうまく使っていますが、私のテンプレートでは、の代わりにthis.name
と入力できるように変更することができれば不思議でした。 ES5クラスのスタイルでは、this.template = function(content, i) {}
のようなことができますが、this.template(content, i) {}
は動作しませんでした。これは可能ですか?私は自分のjsonから名前キーを返すたびに、this.name
という文章を書きましたか?'this.name'はJavascriptのES6クラスでは、単に '名前'にすることはできますか?
person = class {
constructor(data) { Object.assign(this, data); }
template(content, i) {
content.push(`
<div class="card">
<div class="card-block">
${key('<h4 class="card-title">', this.name, '</h4>')}
${key('<h6 class="card-subtitle text-muted">', this.title, '</h6>')}
</div>
<ul class="list-group list-group-flush">
${each('<li class="list-group-item">', this.school.reverse(), '</li>')}
</ul>
<div class="card-block">
<a class="btn btn-secondary" href="#" role="button">Bio</a>
</div>
</div>
`);
}
};
クラス構文がstrictモードを強制しない場合、メソッドの内容を 'with(this){...}'ステートメントにラップすることができます。ここで 'with'は禁止されています。 – Oriol
私はその音が好きです。自分のクラスをES5に変換したい。 – BarryMode
次に、「with」には重要なパフォーマンスコストがあり、悪い習慣とみなされていることに注意してください。しかし、はい、うまくいくでしょう。 – Oriol