发表于: 2017-02-15 23:19:45
1 1097
一、今天完成的事情:
1.完成了职位等信息筛选部分,并用指令扩展它的复用性。
二、明天要做的事情:
1.找前台存在的bug,并修复。
三、遇到的问题:
1.""==0 //true 原因:在js中null、0、false、undefined它们的计算值都为false,所以它们都相等。
2.指令的制作方法:在scope中明确它的使用范围,=、@、&等,用=的话能够将指令中一个scope的值暴露到控制器中,并且在行内可以为其赋值,值可以等于父控制器的任意绑定在$scope下的元素。还可以为指令写入一个属性,通过判断这个属性,来让指令实现不同功能,可能这样说起来有点模糊,你具体可以看看bt-ui里的各种插件,就是通过指令来封装了一个或多个功能,它里面可以写很多属性,这个属性就是通过这种方法暴露在外面来的。
3.在制作指令的过程中,我们没有给指令封装一个template,想的是直接加入这个属性,就让这一整行具有选择的这个方法,并且因为我们都独立了scope的,所以在指令下的每一个都具有独立的作用域。但是,我们绑定在属性里的函数,在与属性同行的标签中,使用ng-click事件,无法触发,必须要将这个函数通过$parent绑定到父作用域下才能够正常触发,这一点很不解。
4.说一说做职位等信息筛选的部分,其实想法很简单:
1.点击的时候对于点击的值的保存:
1.创建一个数组,保存当前点击的每一项的items.type;
2.当点击的时候,如果在数组中有这个值,那么删除这个值;
3.当点击的时候,如果在数组中没有这个值,那么添加这个值;
4.当点击不限的时候,清空数组;
2.对于颜色的操作:
1.通过上述的数组,来将它每一个的items.type通过过滤器变成true或者false,写在ng-class里面。
2.数组为空时,null=true,其他都等于false;
3.数组不为空时,数组里有的东西都为true,其他都为false;
3.关于选择职位之后,下面弹出对应的职位等级:
1.这里我们继续用到前面所用到的数组。
2.因为它只有当上面职位只选择一个的时候才显示,只选择一个那么数组中就只有一个值,用arr[0]可以 表示出这个值,这个值就相当于上面的type,它下面的每一项都是通过repeat出来的,所以就具有 $index属性,这个属性保存的就是每一项的下标,并且上面的type-1才等于下面对应的下标。
3.所以我们写在ng-if中的代码为: arr.length==1&&arr[0]-1==$index。
4.最后的按钮:
1.最后再搜索处有两个按钮,搜索则获取全部数组中的数据,转化一下添加键值对,发送给服务器。
2.清空则将所有数组里的数据清空。
评论