Knockout未手动正确映射
Knockout not mapping correctly manually
我正试图将JSON片段读取到knockout.js中的一个oberservable数组中,但由于某种原因,contactGroup对象的属性从未设置,有人能解释为什么会发生这种情况吗?谢谢
"contactGroups":[
{"id":1,"name":"Test Group","contact":[{"name":"aaaaaa"},{"name":"bbbbbb"}]
}]
self.contactGroups = ko.observableArray([])
$(data.contactGroups).each(function(group){
var temp = new ContactGroup({id: group.id, name: group.name})
$(group.contact).each(function(contact){
var temp_contact = new Contact(contact)
temp.contact.push(temp_contact)
});
self.contactGroups.push(temp);
})
function ContactGroup(data){
var self = this;
self.id = data.id;
self.name = ko.observable(data.name);
self.contact = ko.observableArray([]);
function Contact(){
this.name = ko.observable();
this.email = ko.observable();
this.telephone = ko.observable();
this.mobile = ko.observable();
this.mail_group = ko.observable();
this.comment = ko.observable();
}
self.addContact = function(){
self.contact.push(new Contact);
}
self.removeContact = function(){
self.contact.remove(this);
}
}
可观察数组是函数,因此如果要设置可观察数组,则应使用self.contactGroups(array);
而不是self.contactGroups.push(temp);
self.map = function() {
var groupArr = [];
ko.utils.arrayForEach(this.items(), function(item) {
var temp_contact = new Contact(contact)
temp.contact.push(temp_contact)
groupArr.push(temp)
});
self.contactGroups (groupArr);
}
相关文章:
- Knockout映射创建/更新出现问题
- 在Knockout中扩展动态和映射数据
- 如何使用Knockout Mapping插件映射到来自服务器对象的数组,并进行一些计算
- Knockout映射插件-捕获数组值
- Knockout.js映射忽略
- Knockout映射:JSON在多次映射和保存时会增长
- Knockout JS将我的视图模型创建更改为使用映射pulgin
- 使用 Knockout JS 部分映射到现有对象
- 使用 Knockout.js将插件与 json 中的数组映射
- ASP.net MVC/Knockout JS 映射 - 无法更新视图模型
- 我该如何处理Knockout.js映射程序的私生子
- 使用Knockout映射插件消耗非规范化数据
- knockout.js没有从json映射可观察数组
- 如何使用Knockout JS数组映射根据输入条件使选择选项绑定默认值
- 将Slice与Knockout创建的数组一起使用's映射插件
- 嵌套json的Knockout映射
- knockout.mapping.js,是否可以只更新映射变量的一部分
- 使用自定义Knockout映射时获取索引值
- Knockout映射插件未映射模型内的数组
- Knockout未手动正确映射