2016-04-24 3 views
0

Мне нужно будет отображать разные цены для одного и того же элемента в зависимости от выбранной вами валюты (различные цены уже предоставлены из бэкэнд, поэтому нет необходимости в дальнейшем преобразовании). Я хотел бы изменить выражение с нг нажмитеAngularJS - Динамическое изменение выражения

Мой HTML выглядит следующим образом:

<div ng-controller="myCtrl"> 
    you have, {{exchange.[currency]}}... 
    <br> 
    <br> 
    <select> 
    <option ngclick="currency='USD'">USD</option> 
    <option ngclick="currency='Eur'">Eur</option> 
    </select> 
</div> 

И мой контроллер:

var app = angular.module('myApp', []); 
    // controller here 
app.controller('myCtrl', function($scope) { 

    $scope.currency = "USD"; 

    $scope.exchange = [{ 
     "USD": 199, 
     "Eur": 20 
    }]; 
    }) 

Вы можете проверить код, указанный выше в JSfiddle here

+1

удалить точку на второй линии HTML {. {Обмен [валюта]}} должен быть {{обмен [валюта]}} – aseferov

ответ

1

Вот как вы могли бы сделать это Угловой способ.

HTML:

<div ng-controller="myCtrl"> 
    you have, {{currency.rate}} {{currency.code}} 
    <br> 
    <br> 
    <select ng-options="currency.code for currency in exchange" ng-model="currency"></select> 
</div> 

Контроллер

var app = angular.module('myApp', []); 
    // controller here 
app.controller('myCtrl', function($scope) { 
    $scope.exchange = [{ 
     "code": "USD", 
     "rate": 199 
    }, 
    { 
     "code": "EUR", 
     "rate": 20 
    }]; 
    $scope.currency = $scope.exchange[0]; 
    }) 
+0

JSFiddle [здесь] (http://jsfiddle.net/p2yLxoz7/2/) – BeS

+0

Это именно то, что я искал. Большое спасибо! – Joe82

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