2014-07-02 58 views
0

我试图绑定一个具有内联编辑的表中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

为什么不在你ngRepeat做这样的事情:

ng-repeat="product in products" 

,并在您结合做这样的事情:

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

完整的例子是这样的:

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

嘿谢谢你的回放,问题是我没有2 diffe出租物业。有时是用不同的属性名称嵌套一个级别等。 – user1364649

+0

@ user1364649听起来像你需要标准化你的模型,而不是适应视图 – Dalorzo

+0

我希望我能。不幸的是,这是一个API返回的对象。 – user1364649