2016-10-05 7 views
0

私のコンポーネントのテンプレートを再コンパイル/コンパイルしたい。私は$ onInitを外部モジュールにロードしています。ページ内の他の場所に移動した後、モジュールをロードするページに戻ったときに表示されます。angularJSコンポーネントを再コンパイルしますか?

私は多分テンプレートをコンパイルできると思った。私はそれをどうやってやることができるか知っていますか?


編集:私は自分のコードにコンパイルを使用する場合、テンプレートの内容は、変数 "templateContent" である場合

、何も

controller: { 
$onInit(){ 
this.$ocLazyLoad.load('some.module.js'); 
} 
}, 

template: 
'<p>Sample text here</p>', 

compile: function (tElement, tAttrs) { 
    return function(scope) { 
     scope.widgetCenter = tAttrs.widgetCenter; 
    }; 

} 

答えて

2

を起こりません。下図のようにあなたは、角の「$コンパイル」サービスを使用することができます。

$compile(templateContent)(scope); 

を例にhere

+0

OKを探す...私はテンプレートを持って言うことができます。私はそれをコンパイルする$したいです。私のコードでこれをどこに追加すればよいですか?または、変数を作成し、それをテンプレートとして参照してから、$ compile(variable)(スコープ)を参照する方が良いでしょうか? – julesrose

+0

私が与えた例のリンクに示すように、あなたの指示文でそれを行うべきです。あなたがフィドルやサンプルコードを共有することができれば助けになります。私の答えがあなたを助けてくれたと思うなら、私たちが他の質問に取り組むことができるように、それを受け入れられた答えとしてマークしてください。 – superUser

+0

私はディレクティブで$ compileを行うこともできますが、コンポーネント、ディレクティブは使用していません... – julesrose

関連する問題