如何从 Angular-Meteor 中的动态表单获取数据?
How to get data from a dynamic form in Angular-Meteor?
我想从一个非常简单的动态表单中获取数据,我需要你的帮助。我的基本表格(当我开始工作时会升级)如下所示。
HTML:
<form class="new-task">
<li ng-repeat="user in party.invited">
{{user.email}}: <input ng-model="newTask">
</li>
<button ng-click="addTask(newTask);">ADD</button>
</form>
基本上,它为我选择的聚会中的每个用户创建了一个输入字段。现在我想获取所有这些输入字段中的所有数据。这就是我迷路的地方...
我尝试在控制台中记录内容,但我总是得到 'undefined'。
JS:
angular.module("testapp").controller("TaskCtrl", ['$scope', '$stateParams', '$meteor',
function ($scope, $stateParams, $meteor) {
$scope.party = $meteor.object(Parties,$stateParams.partyId).subscribe('parties');
$scope.addTask = function (newTask) {
console.log(newTask);
};
}]);
据我了解你的问题,你想将几个输入字段绑定到一个单独的数组。如果是这种情况,您需要在范围内创建一个空数组,然后在 ng-model
属性中使用 tasks[$index]
引用 ng-repeat
指令内的数组元素。通过这种方式,您将能够通过访问 tasks
数组来检索所有输入。由于您想一次访问所有数组元素,因此不需要将 newTask
参数传递给 addTask
函数。
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.party = {
"invited": [{
"email": "a@mail.com"
}, {
"email": "b@mail.com"
}]
};
$scope.tasks = [];
$scope.addTask = function() {
console.log($scope.tasks);
};
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
<div ng-controller="MyCtrl">
<form class="new-task">
<li ng-repeat="user in party.invited">
{{user.email}}:
<input ng-model="tasks[$index]" />
</li>
<button ng-click="addTask()">ADD</button>
</form>
</div>
</body>
我想从一个非常简单的动态表单中获取数据,我需要你的帮助。我的基本表格(当我开始工作时会升级)如下所示。
HTML:
<form class="new-task">
<li ng-repeat="user in party.invited">
{{user.email}}: <input ng-model="newTask">
</li>
<button ng-click="addTask(newTask);">ADD</button>
</form>
基本上,它为我选择的聚会中的每个用户创建了一个输入字段。现在我想获取所有这些输入字段中的所有数据。这就是我迷路的地方...
我尝试在控制台中记录内容,但我总是得到 'undefined'。
JS:
angular.module("testapp").controller("TaskCtrl", ['$scope', '$stateParams', '$meteor',
function ($scope, $stateParams, $meteor) {
$scope.party = $meteor.object(Parties,$stateParams.partyId).subscribe('parties');
$scope.addTask = function (newTask) {
console.log(newTask);
};
}]);
据我了解你的问题,你想将几个输入字段绑定到一个单独的数组。如果是这种情况,您需要在范围内创建一个空数组,然后在 ng-model
属性中使用 tasks[$index]
引用 ng-repeat
指令内的数组元素。通过这种方式,您将能够通过访问 tasks
数组来检索所有输入。由于您想一次访问所有数组元素,因此不需要将 newTask
参数传递给 addTask
函数。
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.party = {
"invited": [{
"email": "a@mail.com"
}, {
"email": "b@mail.com"
}]
};
$scope.tasks = [];
$scope.addTask = function() {
console.log($scope.tasks);
};
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
<div ng-controller="MyCtrl">
<form class="new-task">
<li ng-repeat="user in party.invited">
{{user.email}}:
<input ng-model="tasks[$index]" />
</li>
<button ng-click="addTask()">ADD</button>
</form>
</div>
</body>