Angularjs не обновляется с помощью оповещения или диалогового плагина

Я использую angular.js и alertstify.js, чтобы перечислить пользователя здесь:

Plunkr

проблема в том, что после того, как я нажму на меню удаления, появится окно подтверждения, затем после нажатия кнопки ОК удаленная строка будет оставаться там до тех пор, пока вы снова не нажмете кнопку Удалить.

Кажется, Angular не знает, когда обновлять себя. Кто-нибудь знает, как правильно "перезагрузить" эту пользовательскую таблицу в Angular?

вот мой HTML-файл:

 <table class="table">
   <tbody>
    <tr ng-repeat="user in users">
      <td>{{ user.name }}</td>
      <td>{{ user.age }}</td>
      <td>
        <button class="btn btn-danger" ng-click="removeUser($index)">
          Delete
        </button>
      </td>
    </tr>
  </tbody>
</table>

вот моя функция app.js:

var app = angular.module('demo', []);

app.controller('DemoCtrl', function($scope, $http) {
$scope.users = [
   {name: "Jack", age: 10}, 
   {name: "Bart",age: 20}, 
   {name: "Griffin",age: 40}]

$scope.removeUser = function(index) {
  alertify.confirm("You Sure ?").set('onok', function() {
    $scope.users.splice(index, 1)
  })
 }
});

1 ответ

Решение

Вы можете использовать $scope.$ Apply(), чтобы уведомить Angular об изменениях, которые вы внесли в контексте alerttify:

$scope.$apply(function() {
    $scope.users.splice(index, 1)
});

Обновлен Плнкр

Другие вопросы по тегам