AngularJSによる画像取得リクエスト


106

AngularJSコントローラーにHTMLでレンダリングされる画像のソース文字列を格納していますが、Angularコントローラーが初期化される前に404が生成されます。

HTMLは次のとおりです。

 <div ng-controller="Cont">
      <img src="{{imageSource}}">
 </div>

角度コントローラー:

 var Cont = function($scope) {
      $scope.imageSource = '/tests.png';
 }

そして、私が得るエラー(テンプレートのに%7D%7D対応します{{)。

 GET https://localhost:9000/%7B%7BimageSource%7D%7D 404 (Not Found) 

これを防ぐにはどうすればよいですか?つまり、Angularコントローラーが初期化されたときにのみイメージをロードしますか?

回答:


230

詳細について、srcをng-srcに置き換えてみてください。ドキュメントを参照してください。

src属性で{{hash}}のようなAngularマークアップを使用しても正しく機能しません。ブラウザは、Angularが{{hash}}内の式を置き換えるまで、リテラルテキスト{{hash}}でURLからフェッチします。ngSrcディレクティブはこの問題を解決します。

 <div ng-controller="Cont">
      <img ng-src="{{imageSource}}">
 </div>

2
HTMLが有効になるように、data-ng-controllerとdata-ng-srcを使用することをお勧めします。
Juampy NR 2013

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.