gpt4 book ai didi

knockout.js - 如何在 knockout 映射中使用 ko.toJs 方法而无需计算属性?

转载 作者:行者123 更新时间:2023-12-03 15:10:09 27 4
gpt4 key购买 nike

我想将 viewModel 转换为 Json 对象。但我不想映射计算属性。

最佳答案

如果您要将其转换为 JSON,这里有几个选项:

  • 如果你为你的对象使用构造函数,那么你可以覆盖 .toJSON函数来控制要输出的属性。这是一篇关于它的文章:http://www.knockmeout.net/2011/04/controlling-how-object-is-converted-to.html .这是一个示例:http://jsfiddle.net/rniemeyer/FE4HX/ .
  • 在 KO 2.1 中,使用 ko.toJSON 时现在将第二个和第三个参数传递给 JSON.stringify .以下是有关参数的一些文档:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON/stringify .这意味着您可以使用要包含的属性数组或处理键/值的函数传递第二个参数 ( replacer )。以下是使用此技术的相同示例:http://jsfiddle.net/rniemeyer/huyLe/ .
  • 我经常使用的另一个选项是将您不希望在 JSON 输出中的计算定义为子 observable。 Observables 是函数,它们是对象,因此您实际上可以在 observables 上定义 observables。喜欢:

  • ——
    this.name = ko.observable("Bob");
    this.name.formatted = ko.computed(...);

    现在当转换为 JSON 时, formatted自然会丢失为 name转换为它的值。这里又是同一个样本: http://jsfiddle.net/rniemeyer/peEGG/ .通常我在它是关于可观察的元数据时使用它( isValidisEditing 等)。

    关于knockout.js - 如何在 knockout 映射中使用 ko.toJs 方法而无需计算属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11673229/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com