AngularJS在选择时显示图像
AngularJS display image on select
在我的主html文件中有如下内容:
<div class="row">
<div class="col-md-6">
<!--Here go the partials -->
<div ng-view></div>
</div>
<div class="col-md-6">
<div id="imageHolder">
<img src="{{selectedItem}}">
</div>
</div>
</div>
ng-view显示一个表单,对于imageHolder,我想显示一个基于表单选择选项的动态图像。
所以ng-view中的表单有如下输入
<div class="form-group" ng-class="{ 'has-error': emailform.inputLinks.$invalid && emailform.inputLinks.$dirty }">
<label for="inputLinks" class="col-lg-4 control-label">Link to be sent</label>
<div class="col-lg-8">
<select class="form-control" ng-model="formData.inputLinks" data-ng-options="link.value as link.label for link in links" id="inputLinks" required>
<option value="">Please select</option>
</select>
</div>
</div>
然后在控制器中,我有
$scope.links =
[
{ label: 'label1', value: '/app/img/placeholder.jpg'},
{ label: 'label2', value:'/app/img/placeholder.jpg'}
];
现在如果我看一下选择,我可以看到我的选项label1和label2。如果选择了其中一个,我想将主html文件中的图像src设置为其作用域的值。
我怎样才能做到这一点?
感谢我似乎不能让它工作,因为我的设置与我看到的例子不同。例如,我没有ng-controller。取而代之的是
<div class="container" ng-app="emailGeneratorApp">
<div class="row">
<div class="col-md-6">
<!--Here go the partials -->
<div ng-view></div>
</div>
<div class="col-md-6">
<div id="imageHolder">
<img ng-src="{{formData.inputLinks}}">
</div>
</div>
</div>
</div>
然后我有一个文件app。js就像
'use strict';
// Declare app level module which depends on filters, and services
angular.module('emailGeneratorApp', ['emailGeneratorApp.filters', 'emailGeneratorApp.services', 'emailGeneratorApp.directives']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/home', {templateUrl: 'partials/home.html', controller: EmailViewCtrl});
$routeProvider.otherwise({redirectTo: '/home'});
}]);
最后controller。js是
'use strict';
/* Controllers */
function EmailViewCtrl($scope, $http) {
$scope.links =
[
{ label: 'Email1', value: '/app/img/placeholder.jpg'},
{ label: 'Email2', value:'/app/img/placeholder.jpg'}
];
}
EmailViewCtrl.$inject = ['$scope', '$http'];
我怎样才能让它在这种设置下工作?
谢谢
试试这个方法
使用ng-change
事件选择
JS
$scope.getSelectedOpt = function(){
$scope.selectedItem = $scope.formData.inputLinks;
}
HTML <select ng-change="getSelectedOpt()" class="form-control" ng-model="formData.inputLinks" data-ng-options="link.value as link.label for link in links" id="inputLinks" required>
<option value="">Please select</option>
</select>
这是活塞。
已更新代码:
JS:
angular.module('emailGeneratorApp', ['ngRoute']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/home', {
templateUrl: 'partials/home.html',
controller: EmailViewCtrl
});
$routeProvider.otherwise({
redirectTo: '/home'
});
}])
function EmailViewCtrl($scope, $http,$rootScope) {
$scope.getSelectedOpt = function(){
$rootScope.inputLinks;
$rootScope.inputLinks = $scope.formData.inputLinks;
}
$scope.links =
[
{ label: 'Email1', value: '/app/img/placeholder.jpg'},
{ label: 'Email2', value:'/app/img/placeholder.jpg'}
];
}
EmailViewCtrl.$inject = ['$scope', '$http','$rootScope'];
HTML: <div class="col-md-6">
<div id="imageHolder">
<img ng-src="{{inputLinks}}">
</div>
</div>
home。
<select ng-change="getSelectedOpt()" class="form-control" ng-model="formData.inputLinks" data-ng-options="link.value as link.label for link in links" id="inputLinks" required>
<option value="">Please select</option>
</select>
也包括angular-route.js
在你的主模板和把DI
angular.module('emailGeneratorApp', ['ngRoute']).
使用ng-src
作为图像源,并使用相同的模型值
<img ng-src="{{formData.inputLinks}}">
请记住,用于select的ng-model将只包含一个值,即SELECTED值。
此外,如果您想为ng-src使用一些不同的值,如果需要,您可以这样做——观察模型的变化此外,您可以监视输入模型的更改,如
$scope.$watchCollection('formData.inputLinks', function () {
//or some other business logic to assign link value to selectedItem
});
参考:https://docs.angularjs.org/api/ng/directive/ngSrc
编辑:由于原来的问题已经更新,我可以看到这些问题-控制器EmailViewCtrl
与partials/home.html
模板绑定。因此,home.html
可以访问EmailViewCtrl
的作用域变量。
因此,你需要使用ng-controller
将控制器绑定到模板上,就像这样
<div id="imageHolder" ng-controller="EmailViewCtrl">
<img ng-src="{{formData.inputLinks}}">
</div>
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- Javascript将图像src更改为淡入淡出
- 无法在本地计算机中将画布另存为图像
- 压缩phonegap中ios的图像插件
- 如何在鼠标悬停时在另一个图像上滑动图像.