如何将计算的observable添加到映射的视图模型?

时间:2013-01-04 22:31:26

标签: knockout.js knockout-mapping-plugin

我想简单地将一个计算的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);
}

1 个答案:

答案 0 :(得分:1)

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

$.getJSON(apiUrl, function (data) {

  var vm = ko.mapping.fromJS(data);

  vm.FullName = ko.computed(function(){
    return vm.FirstName() + ' ' + vm.LastName();
  });
});