Доступ к ng-модели из одной директивы в другую директиву

0

поэтому у меня этот шаблон в первой директиве

<tr ng-repeat="node in myprops.List">
        <td>{{node.startDate | date: 'yyyy-MM-dd'}}</td>
        <td>{{node.endDate | date: 'yyyy-MM-dd'}}</td>
        <td>{{node.workInHours }}</td>
        <td><label type="button" style="cursor:pointer" ng-click="setIndex($index)" data-toggle="modal" data-target="#{{myprops.id}}">edit</label></td>
        <td><input type="checkbox" ng-click="onClick()" ng-model="node.selected" ></td>
    </tr>

и в этой директиве у меня есть контроллер, у которого есть функция setIndex (index).. поэтому, когда я нажимаю кнопку, ее открывают, что модальные

<form name="myForm">
                        <md-datepicker ng-model="sDate" md-placeholder="Enter date"></md-datepicker>
                        <md-datepicker ng-model="eDate" md-placeholder="Enter date"></md-datepicker>
                        <input type="number" ng-model="hours"  required>
                    </form>

и этот модал находится в другом шаблоне директивы.. поэтому мне нужно, когда я нажимаю кнопку и открываю модальный, что то, что находится в массиве с этим индексом $, который нужно добавить на ng-модели на модели..sDate..eDate и hours... Короче, мне нужно получить доступ к этой модели ng, которая находится в одном шаблоне директивы от другого контроллера в другой директиве

  • 1
    Избавьтесь от использования bootstrap.js и используйте angular-ui-bootstrap
  • 0
    Как я уже сказал, я новичок в angularjs :( и у меня нет времени, чтобы научиться использовать angular-ui-bootstrap
Показать ещё 2 комментария
Теги:

1 ответ

1

Вы должны передать объект модели из главного контроллера в контроллер модальной директивы, а затем после его модификации действиями в модальном возврате этого объекта предыдущему контроллеру и назначением новых данных из модальных

Например (ui.bootstrap):

function MainController($scope, $modal) {
  $scope.model = {};

  $scope.onClick = function () {
    var modalInstance = $modal.open({
     // params
     controller: ModalController;
     resolve: {data: function() {return $scope.model}}
    });
    modalInstance.result.then(function (data) {
      $scope.model = data
    })
  }
}

function ModalController($scope, $modalInstance, data) {
  // actions
  $scope.data = data;
  $scope.saveForm = function () {
    $modalInstance.close($scope.data)
  }
}
  • 0
    Можете ли вы привести пример, потому что я новичок в angularjs

Ещё вопросы

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