0
現在のプロジェクトはシングルページアプリケーション(SPA)をベースにしており、必要なSPAの種類に基づいてHTMLにディレクティブを動的にロードする関数を暗示したいと考えていました。
そのため、関連するコードは次のとおりです。
ディレクティブ
function checkSpaType(x) { if (x === "quiz") { const directivePosition = document.getElementById("spa"); directivePosition.append($compile("<quizSPA></quizSPA>")($scope)); }; };
をロードする必要があり、私のコントローラの一部ディレクティブ自体
function quizDirective() { return { templateUrl: "templates/quizSPA.html", controller: 'quizCtrl', link: function quizSPA() {} } }
ともちろんそれは悪くない計画どおりのk。 スクリプトを実行した後、HTMLにロードされるのはメッセージ "[object HTMLUnknownElement]" iamが私のディレクティブを見つけることはできないが、どのように見えるのですか?
また、テンプレートフォルダは、サイトの開始場所であるindex.htmlと同じフォルダにあります。だからそれは問題ではありません。同様に、私はすでにHTMLでロードするタグの名前を変更しようとしましたが、悲しいことに何の効果もありません。
誰でもアイデアはありますか?
オーケー、私は問題の少なくとも一部を発見したいくつかの掘削後
は変更しなければなりませんでした。 私のスクリプトは、指示文を見つけ出します。 私は自分のコードを分割し、$ compileを変数に保存し、変数をログに記録してから、その変数を自分のhtmlに追加しました。 "[[object HTMLUnknownElement]]"というメッセージだけがHTMLに読み込まれますが、ログには果物があります。 ログには、後で追加されるログに記録された変数にmyディレクティブを含む子ノードが含まれていることが示されています。 したがって、問題は、コンパイルが想定通りにコンパイルされていないか、仮定どおりに追加されないことです。 –