landers.angular
Version:
landers.angular
23 lines (22 loc) • 1 kB
JavaScript
;angular.module('Landers.angular')
.factory('TabIndex', ['$state', 'Location', '$stateParams', function ($state, Location, $stateParams){
function TabIndex(scope) {
this.show = function(callbacks){
var that = this;
var tab_index = $stateParams.tabIndex;
if ( !tab_index ) {
var stateData = $state.$current.data || {};
tab_index = typeof stateData.tabIndex !== 'undefined' ?
stateData.tabIndex : Location.param(2);
}
scope.tabIndex = tab_index;
var _callback = callbacks[tab_index] || callbacks['default'];
if (_callback) _callback(tab_index);
else throw('callbacks[' + tab_index + ']未定义');
};
}
return {
make:function(_scope){return new TabIndex(_scope);},
get:function(){return Location.param(2);}
};
}]);