发表于: 2017-02-21 23:45:20
1 1173
一、今天完成的事情:
1.完成了添加公司页面数据的优化,现在数据不用全部都声明在controller里面了,大大减少了重复的代码;
2.优化了公司标签添加处的逻辑,现在它生成的数据可以直接上传给对象了,无需在controller中再进行操作;
3.做出了数据的上传,但是现在还不能上传成功,服务器报错误400和415,原因还未知。
二、明天要做的事情:
1.完成公司列表页面点击编辑按钮直接跳转公司编辑页面并且传入数据;
2.完成职位列表页面的样式和基本数据渲染;
3.完成新增职位页面的样式和基本逻辑;
三、遇到的问题:
1.第一个坑,在公司标签处,如果我将判断是否为空和是否重复的操作写在angular.foreach中,它会执行多次,所以我们不应该将操作直接写在angular.foreach中,折中的解决办法是:在外面声明一个变量,它等于一个布尔值,在foreach中达到条件之后给它取反,然后再在最后,当它取到反的时候执行相关操作:
vm.addTag = function () {
var _hasattr = false;
angular.forEach(vm.data.tagList, function (data) {
if (data.tag === vm.tag || vm.tag == "") {
_hasattr = true
}
});
_hasattr ? '' : vm.data.tagList.push({'tag': vm.tag});
};
2.第二个坑,今天我将angularforeach后面的东西加上了引号,也就是这样:angular.foreach('variable',function)然后运行一直有错误,我自己还没有发现具体哪里错了,也不打断点。半小时后之后问了二大,他打了断点,发现第一个传进去的东西是V,然后我恍然大悟,我给传了个字符串i进去。
3.使用angular-multiple-select的时候,它有很多相关的事件,我们这个里面需要用到的就是关闭面板后会触发它的一个操作,在html中需要这样写:
on-close="vm.changeIndustry()"
在我们controller中,我们只需要把获取到的东西转成我们想要的格式发送过去就行了:
vm.changeIndustry = function () {
vm.data.industryList = [];
angular.forEach(vm.output, function (data) {
if (data.choose == true) {
vm.data.industryList.push({'industry': data.type})
}
});
console.log(vm.data.industryList)
};
评论