gpt4 book ai didi

javascript - AngularJS:绑定(bind)到所有对象属性?

转载 作者:数据小太阳 更新时间:2023-10-29 05:08:01 25 4
gpt4 key购买 nike

我有一个模型,它接受一个可以包含任何属性集的对象。

我想知道我是否可以绑定(bind)到每个对象属性,而无需提前知道属性值。

以此为例

var object1 = 
{
Name: '1',
Identifier: '12345',
Password: 'password'
}

var object2 =
{
Name: '2',
Identifier: 'object_two'
}

var objects = [object1,object2];

我的对象可以有不同的和独特的属性,我想把它绑定(bind)到一个表单。

我知道我可以使用 for(对象中的 var 属性)并遍历每个对象——但是我可以用 AngularJS 绑定(bind)做同样的事情吗?

我想按照以下方式做一些事情:

<ul><li ng-repeat="attrib in obj">
{{attrib}}
</li</ul>

编辑:多亏了下面的回答,我才更进一步。我似乎无法实现双向绑定(bind)。这个 fiddle 说明了我正在尝试做的事情:

http://jsfiddle.net/EpqMc/17/

我基本上想使用这样的方式进行绑定(bind):

<p ng-repeat="(key,value) in obj">                    
{{key}} : <input ng-model="obj[key]" />

</p>

这行得通,除了我一次只能输入一个字符——有趣。

最终编辑:我找到了一个可以接受的替代方案,以防其他人遇到这个问题。我无法在没有一些问题的情况下直接绑定(bind)到一个对象,但我能够绑定(bind)到一个数组,就像下面答案中的文档状态一样。

下面的 fiddle 完成了我需要做的事情,只是稍微冗长了一点。

http://jsfiddle.net/8ENnx/9/

function ctrl($scope) {
$scope.objects =
[
[
{Name: 'Name:', Value: 'Joe'},
{Name: 'Identification', Value: '1'},
{Name: 'Password', Value: 'secret'}
],
[
{Name: 'Name:', Value: 'Jane'},
{Name: 'Identification', Value: '2'},
{Name: 'Weather', Value: 'Sunny'}
]
];

// $scope.setSelected = ?????;

}

<div ng-app>
<div ng-controller="ctrl">
Objects
<ul>
<br/>
Listing of properties:
<br/>

<li ng-repeat="obj in objects" class="swatch">
{{obj}}
<p ng-repeat="prop in obj">
{{prop.Name}}: <input ng-model="prop.Value" /></p>


</li>
</ul>

</div>
</div>

这允许我定义一组任意参数,但仍然可以毫无问题地使用 angular.

最佳答案

没问题:

<li ng-repeat='(key, value) in obj'>
{{key}} : {{value}}
</li>

它也在文档中:http://docs.angularjs.org/api/ng.directive:ngRepeat

关于javascript - AngularJS:绑定(bind)到所有对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com