сначала я хочу извинения за свой английский, но я постараюсь быть конкретным, как могу.
Во-вторых, возможно, решение для этого прост, но я застрял, и мой мозг не хочет, чтобы сотрудничество, пиво тоже не помогло.. по крайней мере на этот раз
Поэтому я пишу приложение в угловом формате, где я показываю таблицу с некоторыми данными с повторением ng, и в каждой строке мне нужно иметь такие кнопки, как редактирование, удаление и т.д., Для каждой кнопки у меня есть разные частичные модальности, определяющие в директивах.
И есть проблема, потому что когда я загружаю представление, ng-repeat добавляет для каждой строки директиву с шаблоном, но я хочу вызвать директиву, когда я нажимаю на определенную кнопку в строке не для всех строк при загрузке представления
<h4 class="modal-title">Name for: {{name}}</h4>
<add-button></add-button>
<table class="table table-hover">
<thead>
<tr>
<input type="search" placeholder="search" ng-model="findThisData">
<td>Id</td>
<td>Name</td>
</tr>
</thead>
<tr ng-repeat="data in DataOne | filter:findDataOne | orderBy: 'id'">
<td>{{data.id}}</td>
<td ng-model="data.name">{{data.name}}</td>
<td>
**strong text**
<edit-input></edit-input>
<delete-button></delete-button>
</td>
</tr>
</table>
Частично EditButton:
<button class="btn btn-success" type="button" data-toggle="modal" data-target=".bs"
ng-click="modalContent(data.id, $index)" >Edytuj{{data.name}}
</button>
<div class="modal fade bs" role="dialog" id="yolo">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Edycja{{data.version}}</h4>
</div>
<div class="modal-body">
<input type="text" ng-model="input.name"/>
</div>
<div class="modal-footer">
<button class="btn btn-danger" ng-click="save(input.name)" data-dismiss="modal">Zapisz</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">Zamknij</button>
</div>
</div>
</div>
</div>
Директивы:
define(['angular'], function () {
'use strict';
var dataDirectives = angular.module('dataModule.dataDirectives', []);
dataDirectives.directive('dataName', function(){
return{
restrict: 'AE',
templateUrl: '/front/app/views/users/dataName.html'
}
});
dataDirectives.directive('editInput', function (){
return{
restrict: 'AE',
templateUrl: '/front/app/views/partials/editInput.html'
}
});
dataDirectives.directive('modalName', function () {
return{
restrict: 'AE',
templateUrl: '/front/app/views/partials/modalname.html'
}
});
dataDirectives.directive('deleteButton', function () {
return{
restrict: 'AE',
templateUrl: '/front/app/views/partials/deleteButton.html'
}
});
dataDirectives.directive('addButton', function (){
return {
restrict: 'AE',
templateUrl: '/front/app/views/partials/addButton.html'
}
});
});
Поэтому моя цель - иметь кнопку редактирования и удаления в каждой строке таблицы, и когда я нажимаю на эту кнопку, я хочу вызвать действие с модальным шаблоном, но только для этих конкретных данных в строке
Вы можете добавить переменную ввода для своих директив и использовать их так:
<edit-input rowId="data.id"></edit-input>
<delete-button rowId="data.id"></delete-button>
Вы можете достичь этого, используя область выделения в своей директиве. Вот некоторые полезные ссылки, которые объясняют, как это сделать: