У меня есть этот раздел:
<tr ng-repeat="data in filtered = (list | filter:search | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit">
<td>{{data.name}}</td>
<td>{{data.price}}</td>
<td>{{data.img}}</td>
<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header">
<h3 dir="rtl" align="center">screenshot</h3>
</div>
<form ng-submit="submit()">
<div class="modal-body">
<img ng-src="{{data.img}}">
</div>
<div class="modal-footer">
<button class="btn btn-warning" ng-click="cancel()">close</button>
</div>
</form>
</script>
<button ng-click="open()">open</button>
как бы то ни было, не передавать значение из {{data.img}}
в javascript, который открывает модальное окно. есть идеи?
благодарю!!
Я думаю, что для правильного решения этого вам нужно будет передать ссылку на колонку в модальную форму, иначе мы не сможем определить, какое изображение будет показано.
$scope.open = function (imageKey) {
$modal.open({
templateUrl: 'myModalContent.html',
backdrop: true,
windowClass: 'full',
controller: function ($scope, $modalInstance, data, imageKey) {
$scope.data='';
$scope.data = data;
$scope.getImage = function () {
return $scope.data[imageKey];
}
$scope.cancel = function () {
$modalInstance.dismiss('סגור');
};
},
resolve: {
data: function() {
// access outer controller scope by using $scope.$parent
return $scope.$parent.data;
},
imageKey: function() {
return imageKey;
}
}
});
}
В шаблоне (пропустите ключ, который вы хотите использовать):
<button ng-click="open('dioPlusImage')">פתח צילום מסך</button>
В модальном шаблоне:
<img ng-src="{{getImage()}}>"
Я вижу, что вы отметили bootstrap-modal, поэтому я предполагаю, что вы его используете.
Вам нужно передать переменную в модальную, используя ключ разрешения, когда вы открываете модальный. Демонстрация для модального должна иметь это.
var modalInstance = $modal.open({
animation: $scope.animationsEnabled,
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
size: size,
resolve: { // here
items: function () {
return $scope.items;
}
}
});
В модульном контроллере вы получаете переменную как услугу
controller('ModalInstanceCtrl', function ($scope, $modalInstance, items)
И затем назначьте его переменной области, чтобы ваш модальный шаблон мог ее видеть
$scope.items = items;
С сайтом, указанным в комментарии:
var ModalDemoCtrl = function ($scope, $modal) {
$scope.open = function () {
$modal.open({
templateUrl: 'myModalContent.html',
backdrop: true,
windowClass: 'full',
controller: function ($scope, $modalInstance, data) {
$scope.data = data;
$scope.cancel = function () {
$modalInstance.dismiss('סגור');
};
},
resolve: {
data: function() {
// access outer controller scope by using $scope.$parent
return $scope.$parent.data;
}
}
});
};
img ng-src
в этом типе решения?