如何在knockout.js中一次更新对象属性值
我的做法是一个接一个,就像这里的例子
self.person = {
id: ko.observable(),
name: ko.observable()
};
self.person.id("1");
self.name.id("AAAA");
我想要的是这样的
self.person = {
id: ko.observable(),
name: ko.observable()
};
var temp = {
id: "1",
name : "AAAA"
}
self.person(temp)
可能吗?
既然您标记了knockout-mapping-plugin,下面是如何使用ko.mapping.fromJS
:
const person = ko.mapping.fromJS({
id: undefined,
name: undefined
});
const temp = {
id: "1",
name : "AAAA"
}
// Both undefined:
console.log(
person.name(),
person.id()
)
ko.mapping.fromJS(temp, person);
// Now set to 1 and AAAA
console.log(
person.name(),
person.id()
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js"></script>
有关更多信息,请查看文档。