Je reçois une erreur en essayant d’analyser ce balisage. En gros, j’ai besoin d’utiliser une expression comme paramètre de la fonction dans le ng-click
, mais ça ne me laisse pas faire. Si je n’utilise pas d’expression, le src de la img src="/images/{{image.media.m}}" ng-model="image.media.m"
sera effacé en cliquant sur l'album img
provoquant la disparition de l'image. Cette erreur provoque mon saveToAlbum
fonctionner pour ne pas fonctionner comme il se doit ..
Quelle serait la bonne façon d'écrire cela, je me le demande? Et pourquoi n’est-ce pas permis?
<ul class="images-list">
<li ng-repeat="image in imageGroup" ng-controller="albumsCtrl">
<img src="/images/{{image.media.m}}" ng-model="image.media.m">
<div class="topDiv">
<img src="img/album.png" ng-click="saveToAlbum({{image.media.m}}, undefined)">
</div>
<div class="bottomDiv" ng-controller="favoritesCtrl">
<img src="/images/img/favorites.png" ng-click="addToFavorites(image.media.m)">
</div>
</li>
</ul>
L'erreur:
Error: [$parse:syntax] http://errors.angularjs.org/1.3.10/$parse/syntax?p0=%7B&p1=invalid%20key&p2=14&p3=saveToAlbum(%7B%7Bimage.media.m%7D%7D%2C%20undefined)&p4=%7Bimage.media.m%7D%7D%2C%20undefined)
at Error (native)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:6:417
at hb.throwError (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:190:254)
at hb.object (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:199:435)
at hb.primary (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:189:308)
at hb.unary (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:197:82)
at hb.multiplicative (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:196:324)
at hb.additive (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:196:182)
at hb.relational (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:196:48)
at hb.equality (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:195:418) <img src="/images/img/album.png" ng-click="saveToAlbum({{image.media.m}}, undefined)">
Réponses:
3 pour la réponse № 1utilisez ng-src pour le src = "" et perdez la fonction {{}} i the saveToAlbum