UNPKG

landers.angular

Version:

landers.angular

41 lines (39 loc) 2 kB
;angular.module('Landers.angular') .directive('landersRaty', ['Flat', function(Flat){ return { restrict : 'A', template : '<div class="raty-star center"></div><div class="raty-hint"></div>', link : function($scope, $ele, $attrs){ var $star = $ele.find('.raty-star'); var ngmodel = $attrs['ngModel']; var $hint = $ele.find('.raty-hint'); var config = {}; if ($attrs['ratyNumber']) config.number = ~~$attrs['ratyNumber']; if ($attrs['ratyScore']) config.score = ~~$attrs['ratyScore']; if ($attrs['ratyTargetType']) config.targetType = $attrs['ratyTargetType']; if ($attrs['ratyPath']) config.path = $attrs['ratyPath']; if ($attrs['ratySize']) config.size = ~~$attrs['ratySize']; config = angular.extend({}, { number: 10, // 多少个星星设置 score: 10, // 初始值是设置 targetType: 'number', //类型选择,number是数字值,hint,是设置的数组值 path : '/static/img/star/', cancelOff : 'cancel-off-big.png', cancelOn : 'cancel-on-big.png', size : 24, starHalf : 'star-half-big.png', starOff : 'star-off-big.png', starOn : 'star-on-big.png', cancel : false, targetKeep: true, precision : false,//是否包含小数 click: function(score, evt) { if (ngmodel) Flat.set($scope, ngmodel, score); } }, config); if (ngmodel) Flat.set($scope, ngmodel, config.score); if (config.target === true) config.target = $hint; $star.raty(config); } }; }]);