2

我是 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();
}
4

1 回答 1

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();
}
于 2012-09-21T21:45:51.057 回答