【问题标题】:Does it make sense to have an initialize in a MVVM modelView?在 MVVM modelView 中进行初始化是否有意义?
【发布时间】:2012-09-21 21:41:06
【问题描述】:

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

【问题讨论】:

    标签: javascript mvvm knockout.js


    【解决方案1】:

    对于淘汰赛,您应该使用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();
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 2021-11-28
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 2020-07-18
      • 2014-11-27
      • 1970-01-01
      相关资源
      最近更新 更多