首页 新闻 会员 周边

knockout

0
[已解决问题] 解决于 2016-11-28 18:08

var addressGroup;
function Address() {
var self = this;
self.name = ko.observable();
self.isSaved = ko.observable(false);
self.save = function () {
return function () { alert(1); }
}
};
var otherGroup;
function Other() {
var self = this;
self.pwds = ko.observable();
self.isSaved = ko.observable(false);
self.save = function () {
return function () { alert(2); }
}
}

var model = {

address: ko.observable(),
other: ko.observable()
};

$(function () {
var address = new Address();
addressGroup = ko.validation.group(address);
addressGroup.showAllMessages(false);
model.address(address);

var other = new Other();
otherGroup = ko.validation.group(other);
otherGroup.showAllMessages(false);
model.other(other);
ko.applyBindings(model);
});

问题补充:

想把二个类绑定到一个ViewModel上一直报无法绑定的错误,急!急!急!急!在线等!在线等!在线等!

_pete的主页 _pete | 菜鸟二级 | 园豆:202
提问于:2016-11-28 14:56
< >
分享
最佳答案
0

你无非是想在一个ViewModel中使用CS中两个实体类(ModelA、ModelB)的资源,可以先定义个一个ViewModelA

,将ModelA对应的属性定义在ViewModelA中,然后定义一个ViewModelB,将ModelB对应的属性定义在ViewModelB中并且继承ViewModelA,这样在ViewModelB中就可以同时获取ModelA、ModelB的属性并且在这里绑定两个实体类数据

1 define(['knockout', 'plugins/i18n', 'common/CommonMethod', 'ViewModelA'], function (ko,  i18n, comm, base) {
2   var ViewModelB = function(data){.......}
3   ViewModelB.prototype=new base();
4   ViewModelB.prototype.constructor=ViewModelB;
5   ViewModelB.prototype.parent=base.prototype.
7 }

 

奖励园豆:5
~扎克伯格 | 小虾三级 |园豆:1923 | 2016-11-28 15:59

能在我上面的基础上改嘛?

_pete | 园豆:202 (菜鸟二级) | 2016-11-28 16:09

@_pete: 。。。仅仅提供思路,具体实现靠你自己喽!

~扎克伯格 | 园豆:1923 (小虾三级) | 2016-11-28 16:10

@~扎克伯格: 好的,谢谢!我先试一下

_pete | 园豆:202 (菜鸟二级) | 2016-11-28 16:12

我想是要在一个VIEWMODEL上绑定多个函数(类),但是总是显示无法绑定

_pete | 园豆:202 (菜鸟二级) | 2016-11-28 16:19
其他回答(1)
0

多级不要function.用{}就可以

吴瑞祥 | 园豆:29449 (高人七级) | 2016-11-28 15:34

试过,没用

支持(0) 反对(0) _pete | 园豆:202 (菜鸟二级) | 2016-11-28 15:54

@_pete: address: ko.observable(),
other: ko.observable()这里不用这样.直接赋值就好不用追踪.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2016-11-28 16:40

@吴瑞祥: 直接赋值也报错

支持(0) 反对(0) _pete | 园豆:202 (菜鸟二级) | 2016-11-28 17:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册