Я хочу использовать modal для редактирования моих данных. Я передаю данные в модальный экземпляр. Когда я нажимаю ok, я передаю отредактированные данные в $scope.selected back to the controller.
Там я хотел бы обновить исходную $scope. Так или иначе, область $не обновляется. Что я делаю неправильно?
var ModalDemoCtrl = function ($scope, $modal, $log) {
  $scope.data = { name: '', serial: ''  }
  $scope.edit = function (theIndex) {
    var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      resolve: {
        items: function () {
          return $scope.data[theIndex];
        }
      }
    });
    modalInstance.result.then(function (selectedItem) {
      $scope.selected = selectedItem;
      // this is where the data gets updated, but doesn't do it
      $scope.data.name = $scope.selected.name;
      $scope.data.serial = $scope.selected.serial;
    });
  };
};
Модальный контроллер:
var ModalInstanceCtrl = function ($scope, $modalInstance, items) {
  $scope.items = items;
  $scope.selected = {
    name: $scope.items.name,
    serial: $scope.items.serial
  };
  $scope.ok = function () {
    $modalInstance.close($scope.selected);
  };
  $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
  };
};
Модальный:
<div class="modal-header">
    <h3>{{ name }}</h3>
</div>
<div class="modal-body">
    <input type="text" value="{{ serial }}">
    <input type="text" value="{{ name }}">
</div>
<div class="modal-footer">
    <button class="btn btn-primary" ng-click="ok()">OK</button>
    <button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>