如何通过ng-click更改另一个img上的ng-src
How do I change a ng-src on another img with ng-click?
*我更新了plunkr和代码,以更好地表示我的localhost版本。尽管修复了之前的plunkr,Angularjs版本并不是问题所在。*
首先,让我说我真的很难理解Angularjs,但我决心学习它。我是一个设计师,而不是一个砌砖工(请原谅《星际迷航》中的参考)。
我正在构建一个原型,点击左边的小缩略图会在右边加载一个更大的版本。我在图像上使用ng点击来传递唯一的"当前"ID。点击不会影响大图像ng src。我尝试了各种各样的排列,但没有发现我做错了什么。
*新信息:我正在使用ng repeat来遍历图像列表。我试图通过点击来传递每个图片的url,但这似乎是它丢失的地方。*
http://plnkr.co/edit/vYiykI7dfMKd34ZmS13N?p=preview
应用程序/控制器:
<script>
var app = angular.module('pageApp', []);
app.controller('imgCtrl', function($scope) {
$scope.current = '7078/7250439172_72562c8e45_k';
});
</script>
html wth缩略图和大图像:
<div class="container">
<div class="row" ng-app="pageApp" ng-controller="imgCtrl">
<div class="col-xs-3">
<ul class="list-group sm-img">
<li class="list-group-item text-center" ng-repeat="n in ['7078/7250439172_72562c8e45_k', '7087/7250440014_a32980508e_k', '7225/7250440766_8db45aa277_h']">
<img class="img-responsive" src="https://farm8.staticflickr.com/{{n}}.jpg" ng-click="current='{{n}}'" /><span>{{current}}</span>
</li>
</ul>
</div>
<div class="col-xs-9">
<img class="img-responsive" ng-src="https://farm8.staticflickr.com/{{ current }}.jpg" />
</div>
</div>
</div>
尝试在控制器中创建函数并通过点击执行
$scope.changeImg = function (c) {
$scope.current=c;
}
您的问题很有趣:您正在加载Angular2版本,但使用Angular1.x语法和代码。加载正确的库版本,例如1.4.8,一切都将开始正常工作:
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.js"></script>
演示:http://plnkr.co/edit/0efkCT9wwEaWfK0nR6su?p=info
它现在正在工作。http://plnkr.co/edit/nmqDqcmtyTq479wZWsuR?p=preview您使用的是角度2,它与角度1(1.4)有更多不同
<!DOCTYPE html>
<html ng-app="pageApp">
<head>
<link data-require="bootstrap@3.3.5" data-semver="3.3.5" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" />
<link data-require="bootstrap@3.3.5" data-semver="3.3.5" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootswatch/3.3.5/cosmo/bootstrap.min.css" />
<link data-require="bootstrap@3.3.5" data-semver="3.3.5" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" />
<script data-require="bootstrap@3.3.5" data-semver="3.3.5" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://code.angularjs.org/1.4.0/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
<script>
var app = angular.module('pageApp', []);
app.controller('imgCtrl', function($scope) {
$scope.current = '7078/7250439172_72562c8e45_k';
});
</script>
</head>
<body>
<div class="container">
<div class="row" ng-controller="imgCtrl">
<div class="col-xs-3">
<img class="img-responsive" src="https://farm8.staticflickr.com/7078/7250439172_72562c8e45_k.jpg" ng-click="current='7078/7250439172_72562c8e45_k'" />
<img class="img-responsive" src="https://farm8.staticflickr.com/7087/7250440014_a32980508e_k.jpg" ng-click="current='7087/7250440014_a32980508e_k'" />
<img class="img-responsive" src="https://farm8.staticflickr.com/7225/7250440766_8db45aa277_h.jpg" ng-click="current='7225/7250440766_8db45aa277_h'"/>
</div>
<div class="col-xs-9">
<img class="img-responsive" ng-src="https://farm8.staticflickr.com/{{ current }}.jpg" />
</div>
</div>
</div>
</body>
</html>
相关文章:
- 在带有ng-src的IMG上,边框仍然存在
- 在动态列表中单击的特定img上执行JQuery
- 为什么对img标记的前向引用在Chrome上失败,但在FireFox和IE上有效
- 当使用srcset时,img上的Javascript onload立即启动
- 宽度=“”和“高度”“在IMG上扰乱了它们的可见性
- 导航到新的 html 页面并更改该新页面上的 img src
- 将图像从 img 标签的 src 上传到 php
- 如果 Div 放置在 img 标记的顶部,则不会在 Div 上触发鼠标关闭事件 - 问题仅在 IE 中
- 如何在 HTML 中更改 IMG 上的工具提示值
- 如何通过ng-click更改另一个img上的ng-src
- jQuery上的缩略图单击替换第二个img src与缩略图src
- 在img上设置闪烁动画的时间
- addEventListener('load')和.complete属性在img标签上的区别是什么?
- Cordova Windows 8.1上的Visual Studio 2015外部图像加载到img标签
- 如何阻止浏览器在IMG上发送额外请求.JS中的SRC变化
- 如何更改页面上所有img src的一部分
- 通过单击img显示输入上的显示框
- 使用fanybox rel=group上的一个img和jQuery img src更改
- 模拟img上的onclick
- 元素img上的src属性值不正确:对于动态生成的img src,必须是非空的