2016-03-28 3 views
0

$ scopeテンプレートの魔女を継承するポップアップディレクティブは、ポップアップが表示するポップアップコンテンツの文字列です。

scope: { 
    template: '=popInfo'//<div another directive></div> 
} 

このテンプレート文字列には別のディレクティブが含まれる可能性があるため、$ compileサービスを使用してコンパイルしています。何かのように:

$el.find('content-container').append($compile($scope.template)($scope)); 
$scope.makeVisible();//after i've compiled i'm making it visible 

動作しますが、点滅しているような副作用があります。 コンテンツが表示された後、最初にポップアップコンテナが表示されます。

http://plnkr.co/edit/FehvteTvZ92e4MFZNaHj?p=preview - ここに例があります。それがtemplateUrlだけで再現されたようだ。

誰も私がそのような行動を避けるのに役立つでしょうか?

+0

フィドルリンクしてください – Nirus

+0

http://plnkr.co/edit/FehvteTvZ92e4MFZNaHj?p=previewは一例であり、templateUrlでのみ再生しますようですが、質問は同じです。 –

答えて

0

ダイジェストサイクルを待つ必要があります。例えば$timeoutコール内の要素を見えるように:ここ

$el.find('content-container').append($compile($scope.template)($scope)); 
$timeout($scope.makeVisible); 

// or $timeout(function() { $scope.makeVisible(); }); 
関連する問題