1.list组件在filter属性中,判断条件绑定ko对象,
var Model = function(){
this.callParent();
this.type=justep.Bind.observable(‘全部’);//建立可观察对象,用于数据感知,分三个状态(全部,迟到,早退);
};
list的filter属性使用表达式:’全部’===$model.type.get()|| $row.val(状态列)===$model.type.get()
迟到按钮的代码:this.type.set(‘迟到’);
早退按钮的代码:this.type.set(‘早退’);
这样就可以了;
2.需求,比如点一个按钮,根据年龄过滤,点击另一个按钮,根据名字过滤,等条件。显示list中的数据!list组件filter绑定一个js方法设置动态过滤条件,比如:$model.testFilterType($row)
初始化定义ko对象:this.type= justep.Bind.observable(‘1’);
这个时候,js改成这样
Model.prototype.testFilterType = function(row){
if(this.type.get() == ‘1’){
return row.val(‘fAge’)>20;
}
esle if(this.type.get() == ‘2’){
return row.val(‘fName’) ==’张三’;
}
。。。。
};
这个时候,你只要在js中修改this.type的值,就可以控制filter绑定的js方法
比如第二个按钮的点击事件代码:this.type.set(‘2’)
这个时候过滤条件就变成fName 等于 张三 了
评一波