2015-10-27 3 views
0

У меня есть следующий JSON, полученный в моем веб-приложении.JSON - knockout.js - вложенные данные

JSON

У меня есть нокаутирующий ViewModel:

var self = this; 
self.ActiveAlarms = ko.observable(); 

и мой JSON вызов:

$.getJSON("/api/Dashboard/ActiveAlarmsPerAlarmTypeForTurbine/591", function (data) { 
    objVM.ActiveAlarms(data); 
}); 

И у меня есть моя страница .cshtml:

    <div class="row"> 
        <div class="col-md-12"> 
         <span data-bind="text: objVM.ActiveAlarms.turbine.name"></span>         
        </div> 
       </div> 
       <div class="row" data-bind="foreach: listOfAlarmsPerAlarmType"> 
        <div class="col-md-12"> 
         <span data-bind="text: alarmType.name"></span> 
        </div> 
       </div> 

Но ничего не появляется ... :-(- Что мне здесь не хватает?

Остальная часть веб-страницы, viewmodel и knouckout/json работают очень хорошо.

+0

Ьгу '<диапазон данных привязки =" текст: objVM.ActiveAlarms(). turbine.name ">'. – Dandy

+0

Вы вызываете ko.applyBindings() для любого элемента с ActiveAlarms? – Romko

+0

Значение привязки: текст: objVM.activeAlarms(). Turbine.name Сообщение: Не удается прочитать свойство «турбина» неопределенного текста {$ родители: Array [0], $ корень: DashboardViewModel, ко: Объект, $ RAWDATA: DashboardViewModel, $ данные: DashboardViewModel} – ThomasE

ответ

0

Возможно, что-то не так, вы привязываете страницу правильно?

Но одна вещь, которую я заметил, что это

<div class="row"> 
       <div class="col-md-12"> 
        <span data-bind="text: objVM.ActiveAlarms().turbine.name"></span>         
       </div> 
      </div> 
      <div class="row" data-bind="foreach: listOfAlarmsPerAlarmType"> 
       <div class="col-md-12"> 
        <span data-bind="text: alarmType.name"></span> 
       </div> 
      </div> 

Вам нужно добавить скобки к наблюдаемому объекту в разметке

+0

Я получил его на работу ... :-)

Alarms
ThomasE

+0

, который тоже будет работать – QBM5

Смежные вопросы