gpt4 book ai didi

asp.net-mvc - Knockoutjs 映射 fromJS 保持方法

转载 作者:行者123 更新时间:2023-12-04 20:50:11 25 4
gpt4 key购买 nike

我使用 KnockoutJs 并且它很棒,但我需要一件事,但我无法弄清楚。

  • 我发出一个返回 JSon 数据的 get 请求。与我的 Knockout ViewModel 相同的属性。
  • 我使用映射插件将我的 JSon 结果转换为 Knockout viewModel。

  • 这工作正常,但当然,我丢失了我的 knockout View 模型中定义的方法。
    如何防止这种情况发生,以便我可以使用映射并保留我的方法?
    非常感谢!
    更新
    这只是一个示例。也许有一些语法错误,但它应该显示我正在尝试做什么。
    我的 JavaScript
    var MyViewModel = function () {
    var self = this;

    self.id = ko.observable();
    self.subModels = ko.observableArray();

    self.doSomething = function () {
    alert("Hello from " + self.id());
    };
    };

    var MySubViewModel = function () {
    var self = this;

    self.id = ko.observable();

    self.doSomething = function () {
    alert("Hello from " + self.id());
    };
    };
    我的 c# 模型
    public class MyViewModel
    {
    public int Id { get; set; }
    public List<MySubViewModel> SubModels { get; set; }
    }

    public class MySubViewModel
    {
    public int Id { get; set; }
    }
    我的服务器结果
    return new MyViewModel
    {
    Id = 1,
    SubModels = new List<MySubViewModel>
    {
    new MySubViewModel { Id = 1 },
    new MySubViewModel { Id = 2 }
    }
    };

    最佳答案

    如果您使用的是 ko 映射插件,则可以将 json 对象映射到 View 模型中的模型。例如,如果您要获取人员列表,则可以将 json 映射到 viewModel.people。这样你就可以保持你的 View 模型的其他属性不变。

    关于asp.net-mvc - Knockoutjs 映射 fromJS 保持方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11583739/

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