将数组添加到角度的其他表单控制器

时间:2016-01-27 19:05:18

标签: javascript jquery arrays angularjs forms

我有event.controller.jsevent.view.html

在控制器中我有活动和嘉宾, event是多个模型的形式,guest是一个带有数组的模型,我也可以传递更多的值。

我有localStorage用于保存表单的事件但guest数组没有传递到表单中,因为它们是分开的,即使它们是同一个控制器的一部分。

 function EventController($location, UserService, EventService, $rootScope, $http, FlashService) {
    var vm = this;

  vm.guests = [];


    vm.addGuest = function () {
        vm.guests.push(vm.newGuest);
    }

    vm.removeGuest = function (guest) {
        var index = vm.guests.indexOf(guest);
        vm.guests.splice(index, 1);
    }

    vm.event = event;


    function event() {
        vm.dataLoading = true;
        EventService.Create(vm.events)
            .then(function (response) {
                if (response.success) {
                    FlashService.Success('Event created successful', true);
                    $location.path('/events');
                } else {
                    FlashService.Error(response.message);
                    vm.dataLoading = false;
                }
            });
    }

我的event.view.html看起来像

  <form name="form" ng-submit="vm.event()" role="form">    
        <!--All my event input fields--> 
   <div class="form-actions">
    <button type="submit" ng-disabled="form.$invalid || vm.dataLoading" class="btn btn-primary">Create</button>
    <a href="#/login" class="btn btn-link">Cancel</a>
   </div>
  </form>
  <form name="form" ng-submit="vm.guest()" role="form">
   <div class="form-actions">
    <button type="submit" ng-disabled="guestform.$invalid || vm.dataLoading" ng-click="vm.addGuest()" class="btn btn-primary">Add Guest</button>
   </div>
    <div ng-repeat="guest in vm.guests track by $index" class="col-sm-6">
       {{guest}} - <a class="btn" ng-click="vm.removeGuest(guest)">Delete</a>
    </div>
  </form>

不同的表单提交给同一个eventcontroller,但是是不同的模型名称空间,在从vm.events.guest方法添加到vm.guests之后,如何获得等于vm.addGuest()的{​​{1}}数组?

0 个答案:

没有答案