2016-07-21 6 views
0

上のiframeを更新していない私は、私の見解では、次のしている:NG-srcはurlパラメータの変更

<iframe style="width: 100%;height: 240px;" scrolling="no" frameborder="0" ng-src="{{previewUrl}}"> 
</iframe> 

と私はテストが中に別の場所に変更されpreviewUrl

$scope.previewUrl = test ? '/foo/bar/' : '/foo/bar/?test=1'; 

を設定するには、次のコードを使用します私の角型アプリの生涯とそれに応じてiframeのソースを更新したい。

唯一の違いはURLパラメータであるため、変更は角度によって無視されているようです。

私はこれにコードを変更した場合:

$scope.previewUrl = test ? '/foo/bar/' : '/foo/bar/baz/'; 

すべてが動作します。

これはanglejsのバグですか、何か不足していますか? 私は角バージョン1.2.5

答えて

1

を使用していますが、私はあなたがそれを動作させるために$sce.trustAsResourceUrlを使用する必要があるかもしれませんね。

あなたの例をもとに、あなたがする必要がある変更は、以下のようにあなたの問題を解決するために、

$scope.previewUrl = $sce.trustAsResourceUrl(test ? '/foo/bar/' : '/foo/bar/baz/'); 

HTH

2

使用 "$のSCE" サービスです。

// in Controller 

app.controller('TestWorkController', function ($scope, $sce) { 
$scope.previewUrl = $sce.trustAsResourceUrl(true ? 'http://clips.vorwaerts-gmbh.de/VfE.webm' : 'http://www.quirksmode.org/html5/videos/big_buck_bunny.webm'); 
}); 

//View 
    <iframe style="width: 100%;height: 240px;" scrolling="no" frameborder="0" ng-src="{{previewUrl}}"></iframe>