我想将图像的来源绑定到另一个图像的来源。
在最终结果中,大图像的来源应绑定到点击的较小(缩略图)图像的src。这是否可以使用ng-model?
这是我所拥有的
<div>
<img ng-src="{{selectedImg.src}}">
</div>
<div>
<ul ng-repeat="thumb in franchises">
<li>
<img ng-src="{{thumb.images[0].list}}" ng-model="selectedImg">
</li>
</ul>
</div>
答案 0 :(得分:11)
您可以使用ng-click执行此操作:
<div>
<img ng-src="{{selectedImg.src}}" alt="{{slide.images[0].list}}">
</div>
<div>
<ul ng-repeat="thumb in franchises">
<li>
<img ng-src="{{thumb.images[0].list}}"
alt="{{thumb.images[0].list}}"
ng-click="selectedImg.src = thumb.images[0].list" />
</li>
</ul>
</div>
但是您必须将selectedImg定义为控制器中的对象,如下所示:
$scope.selectedImg = {};
答案 1 :(得分:4)
要回答您的问题,根据Angular Docs,您只能使用ng-model或自定义表单控件绑定输入,选择和textareas。
你可能想要做的是:(这正是Saulo Lozano用ng-click做的事情)
https://jsfiddle.net/4fz4nx1k/2/
<img ng-src="{{thumb.images[0].list}}" ng-click="selectedImg.src = thumb.images[0].list" >
所以你不能用这种方式将img与ng-model绑定。此外,如果你可以在ng-repeat中加入ng-model,你将在ng-repeat集合的所有重复值中获得相同的“模型值”。