カスタム要素を定義しました。カスタム要素が登録済みのタイプにアップグレードされたときにのみスクリプトを実行したいと考えています。ユース ケースは、カスタム メソッドを呼び出す必要がある場合です。
私のメインのhtmlファイルは次のようになります。
<project-list></project-list>
<script>
var project_list = document.getElementsByTagName("project-list")[0]
project_list.custom_method("some_data");
</script>
カスタム要素は、次のように HTML インポートに登録されます。
<script>
"use strict";
var currentScript = document._currentScript || document.currentScript;
class ProjectList extends HTMLElement {
createdCallback(){
console.log("created");
}
custom_method(data) {
console.log("custom_method() OK");
console.log(data);
this.innerHTML = data;
}
}
document.registerElement("project-list", ProjectList);
</script>
私の質問は簡単です:カスタム要素がそのcustom_method
メソッドを取得した後にのみ、メインの html ファイルのスクリプトが呼び出されるようにする方法は?
エレガントなソリューションを探しています。仕様の作成者が考えたであろう何か。アーキテクチャをかなり変更してもかまいません (たとえば、必要に応じて JavaScript をメイン ファイルから別のカスタム要素に移動するなど)。