DOMに新しいノードを動的に(実行時に)追加しようとしています。新しいノードは基本的にコンポーネントセレクタです。問題は、コンポーネントのコンテンツがレンダリングされないため、結果に空のHTMLタグがあることです。実行時にAngular 2でDOMに新しいComponent要素を追加してもコンポーネントがレンダリングされない
私はAngular 2.0のドキュメントの例を使用しており、大文字と小文字を区別するために少し修正しました。
私はすべてのコードを再利用することであり、私は、新しい売上税の要素を作成するために、身体にクリックしたとき。明らかにそれは動作していません。
これはbodyのontopを追加した新しいスクリプト要素です。
<script>
function add(){
var element = document.createElement('sales-tax');
document.getElementsByTagName("my-app")[0].appendChild(element);
}
</script>
この機能は本体をクリックすると呼び出されます。
<body onclick="add()">
<my-app>Loading...</my-app>
</body>
これが結果です。あなたが見ることができるように、レンタルされているテンプレートのプレランタイムに追加された販売税は、実行時に追加するものは空です。
私は別のルートを行くだろう。いくつかの 'sales-tax'要素が並んでいるので、それをリストにして、それに新しいSalesTax「インスタンス」を追加してみてはどうでしょうか? 「売上税」はどこに属していますか?あるいは、要素を繰り返す方法について実際にテストしていますか? [* ngFor](https://angular.io/docs/ts/latest/ap/common/NgFor-directive.html)を参照してください。 – rinukkusu
問題は、動的に要素を追加したいということです。繰り返し要素についてではありません。 – Tek
それでもあなたが好きな場所にボタンを作って、注射可能なサービスを利用してデータを保持するだけです。 (あなたがAngularコンポーネントの中からそれをやっていることを認めて) – rinukkusu