javascript - Angular - 创建对象映射

标签 javascript angularjs data-binding dictionary

我需要能够在 Angular 中动态创建参数对象,其形式如下:

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

我知道如何绑定(bind)到此对象以显示列表或表中的值,但我不知道如何使用 Angular 中的绑定(bind)构造此对象,主要是创建 key (“密码”),如下所示键也是动态创建的。

最佳答案

我假设您的意思是拥有一个对象,而不是一个数组(您的代码将生成 SyntaxError),如下所示:

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

确实可以绑定(bind)它,甚至可以使用 ngRepeat。但是向该对象添加一些东西需要的不仅仅是简单的绑定(bind)。在您的 View 中创建一些输入:

<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!" />

...并在 Controller 中:

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

关于javascript - Angular - 创建对象映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19118859/

相关文章:

javascript - Angular 1指令组件在模态和模态外有不同的行为

javascript - 开源客户端购物车 - jQuery/Cookies

javascript - 用于尝试返回 json 数据的 ionic Angular 闭合

angularjs - 如何停止 Angular 处理 d3 中的点击事件

javascript - 使用 Javascript 将 Unicode 转换为表单

javascript - Angular ng ui grid 网格导致网页水平滚动

angularjs - 如何使用 angularjs 中的过滤器将秒数转换为分秒数?

c# - 单击按钮更新数据时 GridView 刷新

android - DataBinding Android,自定义 setter ,不起作用?

asp.net - DataBinding 求值到小数点后 2 位不显示 0