用knockout写前端复杂js逻辑的确很方便,而且html界面也很清爽。
在ko中对于复杂的业务逻辑我会给viewmodel创建一些子model对象,但是viewmodel跟子model怎样相互调用呢?
//viewModelvar viewModel = function (data) { var self = this; self.User = ko.observable(new model(data.User, self));//赋值为一个新对象 self.Remark = ko.observable(data.Remark); self.Submit=function(obj){ //调用子对象属性 var name = self.User().Name(); //调用子对象方法 self.User().Validate(); } self.TestFun = function(){ //逻辑 }}//子modelvar model = function (data, parentModel) { var self = this; self.Id = ko.observable(data.Id); self.Name = ko.observable(data.Name); self.Validate = function(){ //逻辑 } self.Save = function(obj){ //调用父对象属性 var remark = parentModel.Remark(); //调用父对象方法 parentModel.TestFun(); }}