将对象动态绑定到角度输入

时间:2015-07-13 01:39:49

标签: javascript angularjs javascript-objects

我在这里有这些对象,我将用它来保存表单中的数据,然后将其作为JSON发送到api:

$scope.price = {} 
$scope.item = {"price":$scope.price, };

我还有这些字段用于在html页面上动态生成输入:

$scope.fields = [
    {
        name: $scope.item.title,
        title: 'Title',
        type: {
            view: 'input'
        }
    },
    {
        name: $scope.price.regular,
        title: 'Regualar Price',
        type: {
            view: 'input'
        }
    }        
];

现在为了生成表单我使用这段代码:

<div class="form-group" ng-repeat="field in fields">
            <label>{{ field.title }}:</label>  
            <span ng-switch on="field.type.view">  
                <span ng-switch-when="input">  
                    <input  
                              ng-model=field.name
                              type="text"  
                              />  
                </span>  
            </span>
        </div>

使用此代码,它不会将输入中的值分配给对象。有办法吗?我知道我可以这样做:

ng-model="item[field.name]"

但这限制了我只对象的一个​​层次。我希望能够绑定嵌套对象。而我似乎无法弄明白。谢谢!

0 个答案:

没有答案