在保存淘汰赛之前合并两个可观察对象

merging two observables before saving knockout

我的两个观察值:

 this.name = ko.observable("");
 this.allItems = ko.observableArray(["test1", "test2", "test3", "test4"]);

我的保存功能:

this.save = function () {

                tmp = {}
                tmp["name"] = ko.toJSON(this.funnelname);
                tmp["steps"] = ko.toJSON(this.allItems);
console.log(tmp);
}

带有此代码的控制台消息是:

{name: """", steps: "["test1", "test2", "test3", "test4"]"}

在我对其进行字符串化并将其发送到服务器端代码之前,它是否应该不像下面这样:

{name: "", steps: ["test1", "test2", "test3", "test4"]}at

如果有人能让我知道我做错了什么,我将不胜感激..

谢谢

这里发生的是将属性更改为字符串,然后使用 2 个字符串属性创建新对象。相反,您应该创建一个对象,然后将其序列化为字符串。像这样更新您的 save 函数:

this.save = function () {
    tmp = {}
    tmp["name"] = this.funnelname;
    tmp["steps"] = this.allItems;
    console.log(ko.toJSON(tmp));
}