Angular - 创建对象图

时间:2013-10-01 14:27:31

标签: javascript angularjs data-binding map

我需要能够在Angular中动态创建具有以下形式的参数对象:

[
    password: {type: 'String', required: true, value: 'apassword'},
    someRandomParam: {type: 'Integer', required: false, value:3}
]

我知道如何绑定到这个以便在列表或表中显示值,但我不知道如何使用Angular中的绑定构造此对象,主要是创建密钥(“password”),因为这些密钥也是动态创建的。

1 个答案:

答案 0 :(得分:0)

我假设您的意思是拥有一个对象,而不是一个数组(您的代码将生成SyntaxError),就像那样:

$scope.params = {
    password: {type: 'String', required: true, value: 'apassword'},
    someRandomParam: {type: 'Integer', required: false, value:3}
};

即使使用ngRepeat,也可以绑定到它。但是向该对象添加内容需要的不仅仅是简单的绑定。在视图中创建一些输入:

<input type="text" ng-model="newParamName" />
<input type="text" ng-model="newParam.type" />
<input type="checkbox" ng-model="newParam.required" />
<input type="text" ng-model="newParam.value" />
<input type="button" ng-click="addParam(newParamName, newParam)" value="Add me!" />

......并在控制器中:

$scope.addParam = function(name,param){
    $scope.params[name] = angular.copy(param);
};