0

の外成分の一部をレンダリング。外側の範囲に似ていますが、他のコンポーネント(y)にその範囲を保存しています。私はtargetElementでレンダリングしたいと思うかもしれないコンポーネントの一部を持っていますが、ng-repeatのような問題があるようです。 enter image description here 私は別のコンポーネントとして「移動」したい部分を壊して、条件付きでレンダリングして別の場所にレンダリングし、bindings: {... , controller: '<'}のスコープを公開することができますコンポーネントxからx.yに変更しましたが、コンポーネントのこの部分をコンパイルするオプションがあるかどうか疑問に思っていました。x他の場所に正しく動作するように注入してください。は、私はこのようなJSFiddleを持つコンポーネント自体

私のアプローチが正しいかどうかわからない、あるいは別の何かについて考えなければならないかもしれませんが、他の解決策やアイデアを知っていれば、感謝します。

+0

データの起点が同じ場合、外部コンポーネントは最初のコンポーネントとは独立してデータを生成できます。そのコンポーネントを分離してみてください。 –

+0

あなたが何を意味しているのか分かりませんが、コンポーネントが互いに分離されていることが分かりますが、コンポーネントの一部を 'targetElement'で指定された要素の外にある場所に表示する必要があります。私はこれを達成するための最良の方法であるかどうかは特に分かりませんが、他のやり方で柔軟性を保つことはできません。 –

答えて

2

fiddle

if(this.options.targetElement) { 
    var parentElem = angular.element((this.options.targetElement)); 
    var childElem = $compile(this.container)($scope)[0]; 
    $timeout(function(){ 
     parentElem.append(childElem); 
    }, 0, false); 
    } 

これは、コンパイルを終了するAngularJS時間を与えるだろう。

このヘルプが必要です。

+0

「$ compile」が非同期であることを完全に忘れてしまいました。完璧な答え、ありがとう! –

関連する問題