最近的项目中用到了angularjs,相比传统的jquery直接操作Dom,
开发web项目,angularjs在操作表格数据时的数据绑定,操作让我不禁直呼过瘾,好方便啊,
从后台接口传一个json过来,直接以表格的形式就呈现在页面上。
但奇葩的后台总是有各种奇怪的要求,比如:
表格的一列需要用复选框显示是否勾选,可他说只能传“0”或“1”,至于怎么显示是前端的事(我擦擦擦。。。。),关键是这个值在传递时任然要传“0”或“1”;
这个时候,angular自定义过滤器就派上用场了,我对angularjs的这个功能的理解是,在页面展示时用滤器换一个值仅用来显示在页面,但实际上这个值没有变。
code:
//自定义过滤器
myModule.filter("transStatus",function(){
//默认未完成,如果为1 显示已完成
return function(input){
var out=false;
if(input==1){
out=true;
}
return out;
}
});
简单解释下:myModule是我定义的ng-app的一个模板;
"transStatus"是过滤器的名称
功能是:将接受的值转换成 true或 false显示;默认接受0,显示是false,当我判断接受的值是1时,就返回true.
总结:过滤器的一个极大的好处是可以任意定义自己的过滤条件,而不用担心原来的值改变。