【问题标题】:JSON - knockout.js - nested dataJSON - knockout.js - 嵌套数据
【发布时间】:2016-01-27 06:48:26
【问题描述】:

我的 Web 应用程序收到以下 JSON。

我有一个淘汰视图模型:

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 工作得很好。

【问题讨论】:

  • 试试&lt;span data-bind="text: objVM.ActiveAlarms().turbine.name"&gt;&lt;/span&gt;
  • 你会在任何带有 ActiveAlarms 的元素上调用 ko.applyBindings() 吗?
  • 绑定值:文本:objVM.activeAlarms().turbine.name 消息:无法读取未定义的属性“涡轮”​ aN {$parents: Array[0], $root: DashboardViewModel, ko: Object, $rawData: DashboardViewModel, $data: DashboardViewModel}

标签: javascript json knockout.js


【解决方案1】:

可能有很多问题,您是否正确绑定页面?

但有一件事我注意到这是什么

  <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>

您需要在标记中为可观察对象添加括号

【讨论】:

  • 我让它工作了... :-)
    警报
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 1970-01-01
  • 2015-04-07
  • 2019-05-21
  • 2012-06-10
  • 2013-02-09
相关资源
最近更新 更多