13

I have an observable array:

var myObservableArray = ko.observableArray([
    { name: "Car", price: "9999" },
    { name: "Shoes", price: "20" },
    { name: "Paper", price: "1" }
]);

I'm trying to access the price of the first item in the array.

<div data-bind="text: myObservableArray()[0]"></div>

Displays:

[object Object]

I've tried:

<div data-bind="text: myObservableArray()[0].price"></div>

But that just returns a null.

What's the correct syntax for doing this?

Edit: Fixed a copy and paste error pointed out below.

4

3 回答 3

7

除了使用错误的属性名称,developerexampledata而不是myObservableArray,您的代码就可以了。

这是一个工作小提琴

于 2013-04-18T19:16:51.513 回答
1

这可能只是因为您在填充数组之前尝试访问数组的第一项。

用一个简单的 if 语句包装您的数据绑定控件以首先检查:

<!-- ko if: (myObservableArray().length > 0) -->
    <div data-bind="text: myObservableArray()[0].price"></div>
<!-- /ko -->
于 2016-02-05T11:24:28.400 回答
0

错误道.....

self.getvaluefrom = function (a ,b)

尝试 catch 返回一个有效值,然后添加data-bind="text:getvaluefrom(a,b) 如果该项目不在数组中,您将得到一个 ko 错误....

ko html 仅显示数组的静态有效条目....

于 2020-06-04T17:20:34.990 回答