モーダル画像ポップアップに取り組んでいます。私が取り組んでいるプロジェクトでは、 script/ng-template がそれを機能させる唯一の方法のようです。次のように ng-src をハードコーディングすると、1 つのイメージで機能します。
<script type="text/ng-template" id="openModal">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">×</span></button>
<div class="breath"></div>
</div>
<div class="modal-body">
<div class="container">
<img height="429" width="750" ng-src="public/img/image1.jpg" class="img-responsive" alt="" />
</div>
</div>
ただし、ng-src を変更できるようにしたいです。データ バインディングを使用してこれを実行しようとしたことについて、ここでいくつかのアドバイスを得ましたが、問題が発生しています。このため、以下は私のコードと、ng-controller とデータ バインディングを追加しようとしたときに発生するエラーです。
HTML では:
<script type="text/ng-template" id="openModal">
<div ng-controller="ModalCtrl">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">×</span></button>
<div class="breath"></div>
</div>
<div class="modal-body">
<div class="container">
<img height="429" width="750" ng-src="{{modalImg}}" class="img-responsive" alt="" />
</div>
</div>
</div>
JS の場合 (「app」は既に初期化されているか、コードの他の部分で他のコントローラーに使用されます):
app.controller('ModalCtrl', function ($scope) {
$scope.modalImg = "public/img/image1.jpg";
});
テストのためにコントローラーのパスをハードコーディングしただけですが、これを機能させることができれば、コントローラーを使用してイメージパスを変更することを願っています。
これらを追加した後、エラーが発生します:
エラー: [$compile:tpload] とリンク先: https://docs.angularjs.org/error/ $compile/tpload?p0=openModal&p1=404&p2=Not%20Found
私はAngularにかなり慣れていないので、どんな助けも大歓迎です!