2016-01-19 1 views
0

Я использую интерфейс Frontular AngularJS 1.4 и Backend Java, и у меня есть много вариантов, которые можно выбрать во внешнем интерфейсе, например. страна:Как обращаться с перечислениями из backend in frontend

GERMANY 
FRANCE 
USA 
RUSSIA 

Перечисление написано заглавные буквы, и я буду настраивать это в вебе-интерфейсе (например, Франция станет во Францию).

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

+0

дать ему член, 'имя' со значениями "Германия", "Франция", ... – Stultuske

+0

Вы могли бы напишите свой собственный угловой фильтр или вручную сопоставьте значение в ответе сервера. – ryanyuyu

+0

Какие рамки вы используете для своего бэкэнда? –

ответ

0

Проверить эту ссылку http://hello-angularjs.appspot.com/angularjs-create-custom-filter

Он имеет настраиваемый фильтр написанный, который может помочь вам.

Вот код из приведенной выше ссылки.

<!DOCTYPE html> 

<html ng-app="HelloApp"> 
<head> 
    <title></title> 
</head> 
<body ng-controller="HelloCtrl"> 
    <form> 
     <input type="text" ng-model="name"/> 
    </form> 
    <div>{\{name|titlecase}}</div> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
    <script type="text/javascript"> 
     // Code defining custom module consisting of a filter 
     // The module needs to be included as dependency for using the filter, titlecase 
     // 
     angular.module('CustomFilterModule', []) 
      .filter('titlecase', function() { 
       return function(input) { 
        return input.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); 
       } 
      }); 
     // Angular App on this page 
     // Included CustomFilterModule as dependency 
     // 
     angular.module('HelloApp', [ 'CustomFilterModule']) 
      .controller('HelloCtrl', ['$scope', function($scope){ 
       $scope.name = ''; 
      }]) 
    </script> 
</body> 
</html> 
+0

Ссылки могут прерываться со временем. Лучше скопируйте необходимые детали в свой ответ. Ответы Link-Only также имеют тенденцию к снижению. – Fildor

0

Ввиду:

<select ng-model="selectedCountry" ng-options="country as country.name for country in countries | filter:filterUpperCamelCase"></select> 

В контроллере:

$scope.countries= [ 
    {name:"SPAIN"}, 
    {name:"GERMANY"} 
    ]; 

    $scope.filterUpperCamelCase = function(element){ 
     element.name = element.name.toLowerCase(); 
     element.name = element.name.charAt(0).toUpperCase() + element.name.slice(1); 
     return element; 
    }; 
Смежные вопросы