javascript - 从 knockout View 模型中删除属性

标签 javascript knockout.js computed-observable

我只是想知道如何从 knockout viewModel 中删除属性。具体来说,是计算出来的。我有一个简单的 viewModel

function viewModel(){
   var self = this;
   self.name = ko.observable("John");
   self.lastname = ko.observable("Doe");
   self.age = ko.observable("22");
   self.fullName = ko.computed(function(){
      return self.name()  + self.lastname();
   });
   self.fullNameAndAge = ko.computed(function(){
      return self.name()  + self.lastname() + ': ' + self.age();
   });
};

数据将发送到服务器,但我想从 viewModel 中排除计算出的数据。

我以为这样的东西会获取所有计算数据并将其删除,但没有找到类似的东西。

      for (observableKey in viewModel) {
        if (ko.isComputed(viewModel[observableKey]) 
                {
            delete viewModel[observableKey];
        }
    }

最佳答案

Knockout 可以返回一个常规对象,然后您可以从中删除任何您想要的内容。

var plainJs = ko.toJS(viewModel);
delete plainJs.fullName;

记录here .

关于javascript - 从 knockout View 模型中删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15369292/

相关文章:

javascript - 计算属性未在 aurelia 中更新

javascript - JS - Onload 事件未触发

html - 需要在html中发送 bool 值

javascript - 如何注册自定义 Handlebars 助手?

javascript - Knockout ObservableArray.replace() 函数不更新 'optionsText' 绑定(bind)

visual-studio - Visual Studio 数据绑定(bind)属性突出显示 [knockout.js]

knockout.js - 为一堆变量的格式化值创建一个计算的 observable

knockout.js 计算数组不会在更改时触发

php - 页面中的行数有限

javascript - 通过 .prototype 添加到对象的方法没有被继承?