javascript - 在应用绑定(bind)最佳实践之前使用 json 数据初始化 Knockout ViewModel

标签 javascript knockout.js

<分区>

我有一个简单的 knockoutjs View 模型。但在我将该模型的绑定(bind)应用到我的 View 之前,我需要首先对其进行初始化或使用我将通过 AJAX 从服务器获取的一些数据(JSON 格式)设置数组值。

我知道我可以创建我的模型对象,发出 ajax 请求,然后初始化我的模型数组。像这样:

function AppViewModel() {
    var self = this;
    self.Servers = ko.observableArray([]);//this one 'll be filled by data from server
}
var MyViewModel = new AppViewModel();
MyViewModel.Servers = ko.mapping.fromJSON(json_data);//make ajax call to get json_data.
ko.applyBindings(MyViewModel);

这是好的做法还是有更好的做法。

最佳答案

对我来说这似乎是一种很好的方式,至少在您提供的上下文中是这样。 mapping plugin's documentation有一个关于 AJAX 请求的部分,最后还有一个“高级”部分,可帮助您跟踪服务器对象的键,以便更轻松地向服务器发回更新。

另一个很好的来源是 loading & saving tutorial .它不使用映射插件,展示了通过 AJAX 请求处理 CRUD 操作的更基本的东西。

关于javascript - 在应用绑定(bind)最佳实践之前使用 json 数据初始化 Knockout ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17515561/

相关文章:

javascript - 如何获取克隆元素并在附加之前添加 div 标签

javascript - 如何解决 JavaScript 代码中超出最大调用堆栈大小的问题

javascript - 传入 ko.mapping.fromJS 的复杂对象

javascript - 谁能帮我让搜索栏正常工作,因为我现在有 JS 提示符?

javascript - knockoutjs 绑定(bind)到主视图模型中所选 subview 模型的 ko.observableArray

javascript - 如何将 kendoMultiSelect 选定的值存储在数组变量中?

javascript - 在 foreach 循环中使用 $root 值设置 href

javascript - 在网络上使用 CSS 创建无缝模式

javascript - 获取 youtube 视频的签名

javascript - 解析 json 不起作用