Доступ к элементам HTML Parent, Child, Sibling в Angular JS

0

$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 от контроллеров.

2 ответа

1
Лучший ответ

Вот что вам нужно сделать в 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 получает массив, который вы хотите удалить, и позицию элемента в массив

1

Передача объекта из 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);
};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню