私は別の要素の中にAurelia要素を作成しようとしています。私はphosphorからドッキングフレームワークを使用しています。パネルを動的に作成すると、Aureliaを使用してビルドしたコンポーネントを追加したいと考えています。例えばAureliaで要素を作成する
:私は非常に単純なロギング・コンポーネントを持っている:
Logging.html
<template>
<h1>Logging....</h1>
</template>
Logging.ts:
export class Logging {
constructor() {
console.log('Logging constructor')
}
}
予想通り、私は「ちょうど入れたときにコンポーネントが動作しますそれはページ上にある "。
今、私はこのような何か持っている蛍光体のウィジェット作成し、いくつかの方法の内側:、蛍光体パネルを与え、
var widget = new Widget();
widget.title = "Got Logs?";
var contentElement = document.createElement('logging');
widget.node.appendChild(contentElement);
panel.insertBottom(widget);
このコードをウィジェットを作成し、ように見える要素を作成:<logging></logging>
をし、それを追加ウィジェットの内部ノードに渡します。結果として生じる「DOM」は正しいが、アウレリアは要素をレンダリングしない。
私もそうのようなTemplatingEngineを使用して試してみました:
import { inject, TemplatingEngine } from 'aurelia-framework';
@inject(TemplatingEngine)
export class AureliaRoot {
constructor(templatingEngine) { }
attached() {
var contentElement = document.createElement("logging"),
el = document.getElementById("my-element");
el.appendChild(contentElement);
templatingEngine.enhance({element: el, bindingContext: {}});
}
}
しかし、実際に、私は右のそれを使用してい疑うと私はcompile
を使用する必要があるかもしれないと思うが、これは、動作するようには思えません確かにそこにはありません。
洞察が得られるでしょう。
であるとして、あなたが操作した場合に限りSPAフレームワークと私の知識が行くように、彼らは、DOMに作用しますので、それは、これが作成されたどの時点で依存このアクションの外のDOM(あなたがやっている可能性が高い)では、フレームワークはあなたの変更を知らないでしょう。 –
確かに、私は私の見解の「編集を強制する」方法を探しています。 –