2017-10-19 7 views
0

を使用するときに動的に表示されていないロード。ユーザーがこのリンクをクリックすると、我々は、ページのコントローラ内からポップアップを表示しようとしている。コンテンツは、我々は次のディレクティブをしているtemplateUrl

self.viewDocument = function (docId) { 
    var title = "Document Viewer"; 
    var body = $compile('<document-viewer></document-viewer>')($scope); 
    showBootstrapModalDialog(title, body, true, true, false); 
}; 

ネットワーク]タブではクローム開発ツール上で、私はしかし、指定されたテンプレートをフェッチしていることがわかりますコンテンツはポップアップに表示されません。あなたはここでそれを見ることができます:私は何をしないのです

<div> 
    document viewer template 
</div> 

:ここScreenshot of pop-up

は、テンプレートの内容でしょうか?

答えて

0

なぜ$ compileを使用する必要がありますか?このような

何かはわからトリックに提案を

self.viewDocument = function (docId) { 
$scope.currentDoc = docId; 
}; 

<div> 
    ... 
    <document-viewer ng-if='currentDoc'></document-viewer> 
    ... 
</div> 
+0

感謝を行います。リンクの1つがクリックされるたびに、ドキュメントビューアの内容は異なります。このアプローチでは、link()関数を1回呼び出すだけでコンテンツは変更されません。 –

+0

は、必要なものすべてを属性としてディレクティブに渡します。それらはリンク機能で利用可能になり、あなたはそれらであなたが望むことを何でもすることができます。

+0

私はdocumentIdをディレクティブに渡しますが、リンク関数は最初のリンクがクリックされると1回と呼ばれます。別のリンクをクリックすると、再度呼び出されず、指示文のコンテンツは、クリックされた最初のリンクのコンテンツと同じままです。 –

関連する問題