【问题标题】:Knockout JS - How to return empty strings for observable fieldsKnockout JS - 如何为可观察字段返回空字符串
【发布时间】:2016-03-19 09:43:05
【问题描述】:

我正在构建一个 CRUD 系统,用户可以在其中从一个简单的表中添加、删除和编辑数据。我有一个模态表单,用于显示其他详细信息并添加新事件。目前,模态表单可以正确加载以进行编辑,但在尝试添加新事件时会出现问题。

经过一些调试,问题似乎来自这一行:

self.currentIncident(null);

这会破坏我的模态形式,因为我的 observable 会返回 null(显然)。我希望它会返回如下内容:

"ID": "",
"Description": "",
"Incident": ""

我相信这就是我的模态崩溃的原因,因为我的模态与返回混淆了。有人知道返回空字符串的简单方法吗?

  self.AddNewIncident = function() {
    var id = this.ID;
    self.showModal(true);
    self.currentIncident(null);
  };

这里是 jsfiddle:http://jsfiddle.net/rqwku4kb/12/

【问题讨论】:

    标签: javascript jquery twitter-bootstrap knockout.js


    【解决方案1】:

    {} 代替null 像这样:

    self.currentIncident({});

    查看Fiddle

    【讨论】:

    • Sweet 几天来一直在寻找这个答案。效果很好,非常感谢,
    • 对不起,我需要等待接受您的回答。再次感谢您。
    【解决方案2】:

    你可以这样声明事件

    function Incident(data) {
      var self = this;
    
      self.ID = -1;
      self.Description = ko.observable();
      self.Incident = ko.observable();
    
      if (!data) return;
    
      // initialize with 'data'
      self.ID = data.ID;
      self.Description(data.Description);
      self.Incident(data.Incident);
    }
    

    然后

        self.currentIncident(new Incident());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-20
      • 2017-06-26
      • 2014-06-22
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      相关资源
      最近更新 更多