【问题标题】:How to add a computed observable to a mapped view model?如何将计算的 observable 添加到映射的视图模型?
【发布时间】:2013-01-04 22:31:26
【问题描述】:

我想简单地将一个计算的 observable 添加到一个映射的对象中。我想避免添加父视图模型。我尝试使用映射选项创建,但这似乎不起作用。

$.getJSON(apiUrl, function (data) {

         var mappingOptions = {

          // overriding the default creation / initialization code
          create: function (options) {

          ko.mapping.fromJS(options.data, {}, this);

           // setup the computed binding
           this.FullNameComputed= ko.computed(function () {
                   return this.FirstName() + this.LastName();
                  }, this);               
            }        
          };

          ko.mapping.fromJS(data, mappingOptions, self.Users);
}

【问题讨论】:

    标签: knockout.js knockout-mapping-plugin


    【解决方案1】:

    您可以在执行映射后添加计算的 observable:

    $.getJSON(apiUrl, function (data) {
    
      var vm = ko.mapping.fromJS(data);
    
      vm.FullName = ko.computed(function(){
        return vm.FirstName() + ' ' + vm.LastName();
      });
    });
    

    【讨论】:

      猜你喜欢
      • 2012-04-23
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多