受此启发codepen我使用JSON file
加载一些基本输入字段和切换。当用户更改内容并按保存时,我希望将这些新的property values
保存在具有相同JSON object
的新property names
中。
我的代码看起来像这个
JS
.controller('page', function($scope, templateSettingsFactory, savedSettingsFactory) {
$scope.template = templateSettingsFactory;
$scope.saved = savedSettingsFactory;
$scope.saveSettings = function(){
var temp = $scope.template;
var jsonObj = {};
for(var key in temp){
jsonObj[key]=temp[key];
}
$scope.saved.$add(jsonObj);
};
});
HTML
<label ng-repeat="item in template">
<input type="text" placeholder="{{item}}">
</label>
<button class="button" ng-click="saveSettings()">Save</button>
问题在于调用saveSettings()
没有获得property values
的更新$scope.template
- 也许它没有进行双向绑定?
答案 0 :(得分:1)
您需要在表单元素上使用ng-model
将其输入绑定到范围。
<input type="text" ng-model="item.property">
以下是使用任意键绑定到单个对象的示例:
<div ng-repeat="(key,value) in template">
<div>{{key}}</div>
<input type="text" ng-model="template[key]"/>
</div>