我将自定义字段的数据设为
var data = [
{type:"text",fieldName:"UserName",fieldValue:"bob"},
{type:"text",fieldName:"password",fieldValue:"bob"}
]
问题是当我创建自定义字段时,我在ng-model
创建自定义字段时如何使用ng-repeat
。
这是plunker
我不想仅绑定fieldValue,还想修改UserName和Password
数据是动态的。
备注
我想通过控制器将用户名和密码传递给服务器。
此处用户名和密码标签只是一个示例,可能是电子邮件ID,电话号码或其他任何内容。
我希望数据为{UserName:"test",Password:"123456abcd"}
如果我有电子邮件ID字段名称,那么我的数据应该是控制器上的{Email : "abcd@xyz.com"}
所以我可以使用$ http将数据发送到服务器,如:
$http.post('myUrl',data).then(function(response){
console.log(responce);
})
答案 0 :(得分:2)
ng-model="c.fieldValue"
因为您希望使用数组的currend元素的fieldValue
属性填充该字段:c
(反之亦然)。
当您提交表单时,只需遍历您的字段即可创建要提交的对象:
var command = {};
angular.forEach(data, function(field) {
command[field.fieldName] = field.fieldValue;
});
$http.post('myUrl',command).then(function(response){
console.log(response);
});
答案 1 :(得分:0)
我认为你需要使用的是括号表示法。它的工作原理如下:
var objToSendToServer;
objToSendToServer[c.fieldName] = c.fieldValue;
我认为最终的代码应该是这样的:
var objToSendToServer;
data.forEach(function(){
objToSendToServer[c.fieldName] = c.fieldValue;
});