对象双数据绑定

时间:2014-07-02 15:27:40

标签: angularjs

我尝试使用内嵌编辑在表格中的ng-repeat上绑定对象数组的特定值。

我遇到的问题是我的对象在每个ng-repeat上都没有相同的值。

示例对象:

var products = [{
    id: 1,
    value: 20
},
{   
    id: 2,
    value: {
        finalValue: 30,
        customValue: 10
    }
}];

据我所知,如果我只返回原始值,它就会被绑定。我有属性名称来获取每个ng-repeat的特定值。例如,我在第一次迭代时获取值的方式只是value而第二次必须是value.finalValue

据我所知...绑定值我不能只返回原始值2030,我必须返回一个对象。所以我的第一次尝试是在我的控制器中创建一个函数,它执行property.split('.')并返回一个数组,其中包含要包含值和属性的对象。

例如)在我的第一次迭代中,它会返回:

[{ id: 1, value: 20 }, 'value']

在第二次迭代中,它将返回:

[{ finalValue: 30, customValue: 10 }, 'finalValue']

现在这将绑定到实际模型,但是如何在我的模板上显示它?

我可以做类似的事情:

<div ng-repeat="product in products>
    {{ getValueObj(product) }}
</div>

但是我该如何显示价值呢?像results[0][results[1]]

这样的东西

1 个答案:

答案 0 :(得分:1)

为什么不在ngRepeat做类似的事情:

ng-repeat="product in products"

并在绑定中执行以下操作:

{{product.value.finalValue || product.value}}

完整的例子将是:

<div ng-repeat="product in products>
 {{product.value.finalValue || product.value}}
</div>