发表于: 2016-12-30 23:47:09

1 1630


今天完成的事:

1,修改完了修真院8期和9期的BUG

明天计划的事:

1,如果修真院10期task拆完了,就就开始做10期了

2,刷jquery第三章

遇到的问题:

<li ng-class="{active: $state.includes('skill.hall' )}"><a ui-sref="skill.hall">职业殿堂</a></li>

1,当多个导航下的视图有多个daily视图时时,按下面的代码是不能实现的

<li ng-class="{active: $state.includes('skill.occupation') || $state.includes( 'skill.task') || $state.includes( 'skill.class') ||   $state.includes( 'skill.daily')}"><a
       ui-sref="skill.occupation({oid: 1})">线上学习</a></li>

解决办法:$state.includes( 'skill.daily')用参数代替

<li ng-class="{active: $state.includes('skill.occupation') || $state.includes( 'skill.task') || $state.includes( 'skill.class') || vm.onlineDaily}"><a
       ui-sref="skill.occupation({oid: 1})">线上学习</a></li>
vm.dailyTypeJudge=$location.absUrl();
if(vm.dailyTypeJudge.indexOf('daily')>=0){
if(vm.dailyTypeJudge.indexOf('oid')>=0 || vm.dailyTypeJudge.indexOf('tid')>=0 || vm.dailyTypeJudge.indexOf('cid')>=0){
vm.onlineDaily=true;
}else if(vm.dailyTypeJudge.indexOf('uid')>=0 || vm.dailyTypeJudge.indexOf('teacherUid')>=0 ){
vm.schoolDaily=true;
}else{
vm.dataDaily=true;
}
}

以上代码只是实现了页面效果,代码比较不规范,待优化

收获:

1,学习了$state.includes()和$state.is()方法,

include(stateOrName,params,options):stateOeName:string,部分名称

is(stateOrName,params,options):stateOrName:全名

比较实用的的一个例子:激活某个tab,

<li ng-class="{active: $state.includes('skill.hall' )}"><a ui-sref="skill.hall">职业殿堂</a></li>

在网上看来一遍文章,说在表达式里直接用$state是不行的,需要在控制器中把$state赋值给$scope下的变量.这样在表达式里才能使用:

<li ng-class="{active:state.includes('dashboard.report')}"><a ui-sref="dashboard.report">Reports</a></li>

$scope.state = $state; 

这个应该是过时的或错误的说法把,实际上$state是可以直接使用的

2,AngularJs $location获取url参数:

$location.absUrl();  // http://qiaole.sinaapp.com?#name=cccccc  

$location.host();  // qiaole.sinaapp.com  

$location.url();  // ?#name=cccccc 

3,使用了indexOf()方法,用法和inArray()方法一样







返回列表 返回列表
评论

    分享到