実装しようとしている Iframe ディレクティブに問題があります。
私がいる限り : テンプレート:
<div class="externalIframe" iframe-src="external.html"></div>
ディレクティブ:
angular.module('project.directives', [])
.directive('externalIframe', ['$rootScope', function($rootScope) {
return {
restrict: 'C',
replace: true,
transclude: true,
scope: {
src: '@iframeSrc', // the src uses the data-binding from the parent scope
},
template: '<iframe src="{{src}}" height="100%" width="100%" frameborder="0"></iframe>',
link: function(scope, elem, attrs) {
//elem.src = "dummy.html"; // not working either
}
}
}])
問題 : 2 つの HTTP リクエスト (2 つの iframe の読み込み) を起動します。:
- one to
http://localhost:8000/app/{{src}}
(角度によってまだ解釈されていない iframe src) - one to
http://localhost:8000/app/external.html
(angular によって解釈された iframe src)
無駄な最初の呼び出しを避けたい..どうすればそれを行うことができますか?
テンプレートに src を使用せずに試し、プログラムでリンクまたはコンパイル関数に設定しましたが、iframe の読み込みが開始されません。
編集: jsFiddleがコンパイル メソッドを使用してバグ デモ用に追加されました => firebug/chrome dev パネルのネットワーク タブに、2 つの要求が行われていることがわかります。
http://fiddle.jshell.net/_display/%7B%7Bsrc%7D%7D
http://fiddle.jshell.net/_display/external.html
助けてくれてありがとう