发表于: 2016-12-30 23:47:09
1 1631
今天完成的事:
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()方法一样
评论