如何从包含自定义类型的可观察数组中检索值?

时间:2016-04-14 10:52:38

标签: asp.net-mvc-4 knockout.js

我有一个名为DiscountValues的视图模型属性,它是一个Ilist,它是一个自定义类型的列表,我们称之为MyCustomType。这种类型有2个属性; public int Yearpublic decimal Discount

此视图模型中的所有数据(包括DiscountValues)都是使用Knockout绑定的数据,并且使用开发人员工具我可以看到以下列格式发布的值:

DiscountValues: [
    {"Year":1, "Discount":0.0500},
    {"Year":2, "Discount":0.1200},
    {"Year":3, "Discount":0.2500}
]

我的问题是,我如何才能访问给定索引的折扣值,比如说我只希望第3年的折扣值为0.02500?

我尝试了以下内容:

<span data-bind="text:MyDiscountValues()[2].value"></span>

但是没有显示任何内容。我的猜测是,它不仅仅是1个键值对,而是每个条目2个,所以键:年份值:3是一个kv对和键:折扣值:0.02500是第二个kv对。如果那是对的,我怎样才能得到第二个KV的值?

我不确定这会影响它(我不这么认为)但这是在resx文件中完成的。

1 个答案:

答案 0 :(得分:3)

您的索引语法是正确的,但您将使用YearDiscount属性访问实际对象,以便您可以直接引用它们。

<span data-bind="text:MyDiscountValues()[2].Discount"></span>