在保存淘汰赛之前合并两个可观察对象
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));
}
我的两个观察值:
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));
}