我有这个 javascript 对象:
var Email = function (data) {
this.id = ko.observable();
this.clientID = ko.observable(data.clientID);
this.email = ko.observable(data.email);
this.iscc = ko.observable(data.iscc);
}
单击按钮时,我将向 emails
数组添加一个新的 email
:
function addCcEmail () {
var client = self.selectedItem();
var email = new Email({ "id": "1", "clientId": "", "email": "", "iscc": "true" });
console.log(email);
client.emails.push(email);
}
但是我在 console.log
上得到的结果是这样的:
Email {id: function, clientId: function, email: function, iscc: function}
我没有正确地初始化它吗?
最佳答案
是的,你做得对。所有属性都显示为函数的事实是因为它们的所有值都是 ko.observable
,它们本身就是函数。
例如,如果您检查 email.id()
,您将从 observable 中获得所需的值。
关于javascript - 为什么所有对象的可观察属性值都是函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45141726/