我有一个 Go 结构体:
type Foo struct {
Name string `json:"fooName"`
Things []string `json:"things"`
}
我有一个 Angular html 页面:
<input type="text" name="fooName" ng-model="foo.fooName"/>
<div ng-repeat="thing in things">
<input ng-model="foo.things" type="text" name="thing-{{$index}}"/>
</div>
在我的 Angular Controller 中:
$scope.save= function(){
Restangular
.all('foos/new')
.post($scope.foo).then(function(foo) {
$location.path('/admin/fooManagement');
});
};
其余服务调用调用:
func CreateFoo(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
var f Foo
dec := json.NewDecoder(r.Body)
dec.Decode(&f)
log.Println("**** CreateFoo.... ")
log.Println(&d)
}
Foo 的名字出现了,但我无法得到用输入值填充的“Things”数组。 我正在尝试弄清楚如何获取邮政服务调用来填充数组。
最佳答案
我对 AngularJS 没有经验,但我对 Javascript 和 Go 非常了解:
<div ng-repeat="thing in things">
<input type="text" ng-value="foo.things[$index]" name="thing[{{$index}}]"/>
</div>
假设 foo.things
和 things
不是同一个数组,并且都在范围内。
使用 ng-value
指令,我们将此输入的值绑定(bind)到索引 $index
处的 foo.things
元素。
name
属性遵循 Restangular 的(未记录的)数组表示法。
关于angularjs - 使用 Restangular 将 Angular 输入字段映射到带有数组的 Go 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25332944/