我是MVVM设计模式的新手,因为我正在构建一些示例,我一直在讨论在哪里放置javascript代码来初始化页面上的组件?我是否将它们包含在视图模型中,创建简单函数或创建不同的对象?
例如说我在需要通过jquery ajax填充的表单上有一个下拉列表?放置该代码的最佳位置在哪里?
var viewModel = function() {
this.firstName = ko.observable(first);
this.lastName = ko.observable(last);
init:function () {
//Load components here
}
};
$(document).ready(function () {
viewModel.init();
}
答案 0 :(得分:2)
使用淘汰赛时,您应该使用self
方法。要回答你的问题,你应该有一些初始化代码,如:
var viewModel = function() {
var self = this;
self.firstName = ko.observable(first);
self.lastName = ko.observable(last);
self.retrieveData = function() {
$.ajax({
url: "test.html",
success: function(data) {
self.firstName(data.firstName);
self.lastName(data.lastName);
}
});
};
};
$(document).ready(function () {
var vm = new viewModel();
vm.retrieveData();
}