发表于: 2017-04-05 20:35:41

1 1125


完成的事情:

大概完成搜索功能中的点击选择信息


计划的事情:

连上公司搜索列表进行规划


问题:

因为考虑到“公司”和“职位”的切换,以及维护的方便,把约定的,这里需要用到的数据加载到$scope上

$scope.companyList = [

{title:'province',name:'所在地区:'},

{title:'industry',name:'所属行业:'},

{title:'financing',name:'融资规模:'}

];

$scope.companyMes = [

[{name:'北京'}],//province

con.industry,//industry

con.financing//financing

];

$scope.jobList = [

{title:'province',name:'所在地区:'},

{title:'category',name:'职位类别:'},

{title:'industry',name:'所属行业:'},

{title:'education',name:'学历要求:'},

{title:'experience',name:'工作经验:'},

{title:'compensation',name:'薪资水平:'},

{title:'updateAt',name:'发布时间:'}

];

$scope.jobMes = [

[{name:'北京'}],//province

con.categoryData,//category//compensation

con.industry,//industry

con.education,//education

con.experience,//experience

con.compensation,//compensation

[{name:'今天'},{name:'三天内'},{name:'七天内'}]//updateAt

];


在展示切换时候,给展示域进行赋值处理

$scope.professionList = $scope.companyList;

$scope.professionMes = $scope.companyMes;


然后对列表进行展示:

<div class="box-center" ng-repeat="x in professionList">

<span class="b">{{x.name}}</span>

<span ng-class="{true:'active'}[pro.searchData[x.title] === '']" class="spanlist" ng-click="listSelect(x.title,'')">不限</span>

<span ng-repeat="y in professionMes[$index]" ng-class="{true:'active'}[(pro.searchData[x.title]|fSearchData:$index)]" class="spanlist" ng-click="listSelect(x.title,$index)">{{y.name}}</span>

</div>


给每个项目添加同一个点击事件,“不限”单独处理,传递空字符串,其他传递上面的数据中绑定的title和当前的$index值,在服务中建立方法进行处理:

$scope.listSelect = function(str,num){

pro.jobSearchData[str] = myFac.indexSelect(pro.jobSearchData[str],num,true,str);

}


其中服务方法经过:

对“不限”的空字符串进行判断,返回空字符串;

num非空字符串时候,对原字符串进行拆分成数组,判断数组中是否含num的值,如果有,则删除,如果木有,则添加,对数组重新按顺序排列,再合并成字符串并返回。

由于‘发表时间’为单选,添加了特定条件的判断(str == 'updateAt')

(这回总算是体会到‘===’的必要性了,null、‘’和0,在‘==’中算是一个值~~!)


service.indexSelect = function(input,num,bool,str){

var data;

if(bool){

if(num === ''){

data = '';

}else if(str == 'updateAt'){

console.log('1');

data = num;

}else{

var aStr = input.toString().split(',');

var j=-1;

for(var i=0; i<aStr.length; i++){

j = aStr[i] === num.toString()? i:j;

}

if(j===-1){

aStr.push(num);

aStr.sort(function(a,b){return a-b;});

}else{

aStr.splice(j,1);

}

if(aStr[0] === ''){aStr.splice(0,1);}

data = aStr.join(',');

console.log('1');

}

//console.log(data);

}else{

if(num === ''){

data = false;

}else{

var aStr = input.toString().split(',');

data=false;

for(var i=0; i<aStr.length; i++){

data = aStr[i] === num.toString()? true:data;

}

}

}

return data;

}


收获:

复盘项目进度



返回列表 返回列表
评论

    分享到