2015-12-06 4 views

ответ

2

Если вы определяете titles в сфере, как это:

$scope.titles = ['a','b','c','d','e','f','g','h','i','j']; 

, а затем ссылаться на это в HTML:

<uib-rating ... titles="titles"></uib-rating> 

Вы можете получить доступ к заголовку выбранных в данный момент рейтинг с помощью:

$scope.titles[Number(currentRating) - 1]; 

Я должен был $watchrate переменная для изменений, так что я могу обновить заголовок соответственно:

$scope.$watch('rate', function(value) { 
    $scope.caption = $scope.titles[Number(value) - 1]; 
}); 

Я создал Plunker, где при выборе нового рейтинга, текст ниже будет отображаться соответствующий заголовок.

Edit: Как показать надпись на парении:

Вы можете добавить строку для доступа к подписи функции парения:

$scope.hoveringOver = function(value) { 
    $scope.overStar = value; 
    $scope.percent = 100 * (value/$scope.max); 
    $scope.caption = $scope.titles[Number(value) - 1]; 
}; 

и определить on-leave функцию, которая сбрасывает заголовок:

$scope.hoveringOut = function() {  
    $scope.overStar = null; 
    $scope.caption = null; 
} 
<uib-rating ... on-leave="hoveringOut()"></uib-rating> 

Для демонстрации см. here.

+0

Поблагодарили много @ian. Очень хорошая идея. Тем не менее, я попытаюсь использовать зависающие функции, чтобы показать подпись, я думаю, что мне не понадобится '$ watch'. – francisaugusto

+0

Это правильно. Я обновил свой ответ, и есть второй Plunker, чтобы показать, как вы можете отображать подпись при зависании. Первоначальный ответ остался на случай, если кто-нибудь найдет это из поиска и захочет сделать это при выборе. –

Смежные вопросы