Ответ 1
Помимо использования неправильного имени свойства developerexampledata
вместо myObservableArray
, ваш код в порядке.
Вот рабочая скрипка
У меня есть наблюдаемый массив:
var myObservableArray = ko.observableArray([
{ name: "Car", price: "9999" },
{ name: "Shoes", price: "20" },
{ name: "Paper", price: "1" }
]);
Я пытаюсь получить доступ к цене первого элемента в массиве.
<div data-bind="text: myObservableArray()[0]"></div>
Вывод:
[object Object]
Я пробовал:
<div data-bind="text: myObservableArray()[0].price"></div>
Но это просто возвращает нуль.
Какой правильный синтаксис для этого?
Изменить: исправлена ошибка копирования и вставки, указанная ниже.
Помимо использования неправильного имени свойства developerexampledata
вместо myObservableArray
, ваш код в порядке.
Вот рабочая скрипка
Это может быть просто для вас, пытаясь получить доступ к первому элементу массива до того, как массив будет заполнен.
Оберните свой контроль привязки данных с помощью простой инструкции if, чтобы сначала проверить:
<!-- ko if: (myObservableArray().length > 0) -->
<div data-bind="text: myObservableArray()[0].price"></div>
<!-- /ko -->