求助大神
angular吧
全部回复
仅看楼主
level 1
殇了她 楼主
求助大神,请问tndId是在哪传过来的
2016年08月18日 09点08分 1
level 1
殇了她 楼主
angular.module("CatalogDirective", []).directive('catalogList',['$filter', 'Ajax', function($filter, Ajax) {
var html =
'<div class="guide-menu clearfix">'+
' <ul class="guide-menu-list-1">'+
' <li ng-repeat="item in firstCatalogs" class="guide-menu-list-1-newbg" ng-click="checkFirst(item.tnd_id)" ng-class="{\'select\' :item.select}">'+
' <a href="javascript:;" title="">{{item.tnd_title}}<em></em></a>'+
' </li>'+
' </ul> '+
' '+
' <div class="guide-menu-cont">'+
' <ul class="guide-menu-list-2" >'+
' <li ng-class="{\'noline\' : $index == secondCatalogs.length-1}" ng-repeat="item in secondCatalogs" ng-click="start(item.tnd_id)"><a href="javascript:;" title="">{{item.tnd_title}}</a></li>'+
' </ul>'+
' </div> '+
'</div> ';
return {
restrict: 'A',
template: html,
replace: true,
link: function(scope, element, attrs) {
scope.load = function(tndId, callback){
if(!tndId) tndId = 0;
var params = {
cos_type : 'course',
tndId : tndId
};
alert(tndId);
if(scope.cosType){
params.cos_type = scope.cosType;
}
var url = "/app/catalog/mobileJson";
Ajax.post(url, params, callback);
};
//选中二级目录
scope.start = function(tndId){
scope.load(tndId, function(data){
if(data && data.catalog){
//如果选中了二级目录,为空的话,一级目录就显示成二级目录
if(data.catalog.first && data.catalog.first.length < 2 && tndId > 0 ){
scope.firstCatalogs = scope.secondCatalogs;
scope.secondCatalogs = null;
} else {
//如果选中了一级目录
scope.firstCatalogs = data.catalog.first;
}
//二级目录
if(data.catalog.second && data.catalog.second){
scope.secondCatalogs = data.catalog.second;
}
var ctg = null;
if(tndId && tndId > 0){
angular.forEach(scope.firstCatalogs, function(val, key){
if(tndId == val.tnd_id){
val.select = true;
ctg = val;
} else {
val.select = false;
}
});
}
scope.$watch('firstCatalogs.select',function(){
});
if(tndId==0 && !isHaveAll(scope.firstCatalogs)){
scope.firstCatalogs.unshift({
tnd_parent_tnd_id:0,
tnd_title : $filter('translate')('text_all'),
tnd_id:'',
tnd_type:'CATALOG',
flag : true
});
}
if(scope.secondCatalogs && scope.secondCatalogs.length > 0){
element.siblings(".header-guide-lei").children(".header-guide-prev").unbind('click').bind('click', function(){
if(ctg){
scope.back(ctg.tnd_parent_tnd_id);
}
})
element.find(".guide-menu-list-1").addClass("guide-menu-click");
//element.find(".guide-menu-list-1").find("li").siblings().addClass("guide-menu-list-1-newbg").removeClass("guide-menu-list-1-bg");
element.find(".guide-menu-list-1").siblings(".guide-menu-cont").show();
element.siblings(".header-guide-lei").children(".header-guide-prev").show();
} else {
element.find(".guide-menu-list-1").removeClass("guide-menu-click");
element.find(".guide-menu-list-1").siblings(".guide-menu-cont").hide();
if(tndId > 0){
element.find(".guide-menu-list-1").addClass("guide-menu-click");
}
}
if(scope.secondCatalogs && scope.secondCatalogs.length < 1 && tndId > 0) {
element.find(".guide-menu-list-1").removeClass("guide-menu-click");
}
}
});
}
2016年08月18日 09点08分 2
1