在拯救淘汰赛之前合并两个观察者

时间:2015-02-01 18:23:03

标签: knockout.js

我的两个观察点:

 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

如果有人能让我知道我做错了什么,真诚地感激。

由于

1 个答案:

答案 0 :(得分:1)

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

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