$scope.delete = function(){
Here I want to get the t.number
};
<li class="item" ng-repeat="t in items">
<div class="row">
<div class="col col-10"><i></i></div>
<div class="col col-70">
<span class="number">{{t.number}}</span>
<p class="date">{{t.date}}</p>
</div>
<div class="col col-20">
<i class="ion ion-ios-paper" ng-click="Details()"></i>
<i class="ion ion-trash-a" ng-click="delete()"></i>
</div>
</div>
</li>
Пожалуйста, расскажите мне, как получить доступ к элементам html в угловых js от контроллеров.
Вот что вам нужно сделать в ng-click="delete(items, $index)'
<li class="item" ng-repeat="t in items">
<div class="row">
<div class="col col-10"><i></i></div>
<div class="col col-70">
<span class="number">{{t.number}}</span>
<p class="date">{{t.date}}</p>
</div>
<div class="col col-20">
<i class="ion ion-ios-paper" ng-click="Details()"></i>
<i class="ion ion-trash-a" ng-click="delete(items, $index)"></i>
</div>
</div>
</li>
Затем в вашем контроллере:
$scope.delete = function(array, index){
console.log('Item number: ',index); // Get element number
array.splice(index, 1); // Delete element
};
И чтобы объяснить это, в своем ng-click
вы отправляете имя массива, которое является items
в вашем случае, и index
(местоположение в массиве), затем функция delete
получает массив, который вы хотите удалить, и позицию элемента в массив
Передача объекта из html в контроллер
Попробуйте это
Html
<i class="ion ion-trash-a" ng-click="delete(t)"></i>
CTRL
$scope.delete = function(entity){
console.log(entity.number);
// if you wanna delete item
var index = $scope.items.indexOf(entity);
$scope.items.splice(index,1);
};