我对 Knockout 非常陌生,但我真的很喜欢它,与旧的手动技术相比,我肯定会产生巨大的差异!
我目前正在开发一个单页应用程序来显示来自用户分机的电话。我创建了一些 REST 服务:
GET /extensions
- 返回当前用户可用的分机号码列表
GET /calls/<extension>
- 返回在给定分机上进行的呼叫列表
在我的 SPA 中,我想列出每个分机的表格,显示有关电话的数据,但不确定从我的视图模型角度看应该采取什么角度。
目前我在想类似以下的事情:
function extension(extn) {
var model = ko.mapping.fromJS(extn);
model.calls = ko.observableArray(); // load calls in to here
return model;
}
function CallsViewModel() {
var self = this;
self.extnData = ko.observableArray();
$.getJSON("/extensions", null, function (data) {
self.extnData($.map(data, extension));
});
}
我最初将扩展加载到模型中,然后将调用加载到扩展对象中。但我只是在这个阶段进行尝试,所以不确定这是否理想?
是否有任何关于如何处理的建议,乐于接受任何级别的评论,包括 REST API 本身(尽管我认为这方面是合理的)。干杯!