我有event.controller.js
和event.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}}数组?