发表于: 2017-07-29 23:37:24
0 862
1、完成新增/编辑职位页面,编辑页面的渲染,新增/编辑保存功能,大概说一下代码流程。
先是进行常规//过滤器数组转换,把常量数组赋值。
var vm = this;
vm.product=product;…
取url参数, id(职位编号)进行页面状态判断,comName(公司名字)赋值给输入框(禁用,两种状态都要赋值,因为公司是固定的了)
vm.id=$stateParams.id?$stateParams.id:"";
vm.comName=$stateParams.comName;
根据公司ID单独请求公司相关参数(职位接口没有做对应公司标签信息,所以请求单独请求公司获取总列表渲染页面),最后根据数组进行标签项的渲染(不分状态)。
angular.forEach(vm.companyTagList,function (obj) {
vm.tagss.push(obj.tag);
})
然后遍历总标签与当前标签的对应关系,angular.forEach,对ng-checked="vm.checked($index)”中函数进行判断取值,之前说过这里就不放代码了。
后面就是根据输入框绑定的值,带入data内字段赋值,然后根据接口不同进行请求。
data={
name:vm.name?vm.name:"",
cId:$stateParams.comId?$stateParams.comId:"",
grade:vm.grade>-1?vm.grade:"",。。。}
这里有个问题,赋值字段为数字时,如果直接使用grade:vm.grade?vm.grade:"",vm.grade为0时(1应该也是一样),会自动转换为布尔型false,导致输出为””无法取值,所有将条件表达式改为了>-1,解决问题。
4、标签项的传参请求还没有做好,后端接受数据类型是tag:一,二,三,不太好处理,需要用到字符串拼接等,回家了没法验证,明天解决。
收获:总的来说旧知识的巩固。
困难:后端接口,感觉统一性不够,公司ID,职位ID在不同页面有些混用,有些地方改起来比较费神。
计划:明天完成标签项保存,开始前台的页面渲染。
评论