2016-04-24 10 views
0

Ich müsste verschiedene Preise für den gleichen Artikel anzeigen, abhängig von der vom Benutzer gewählten Währung (die unterschiedlichen Preise werden bereits vom Backend bereitgestellt, so dass keine weitere Konvertierung erforderlich ist). Ich möchte den Ausdruck mit sich ändern ng Sie aufAngularJS - Ausdruck dynamisch ändern

Meine html so geht:

<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> 

Und mein Controller:

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

    $scope.currency = "USD"; 

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

Sie den Code oben in einem JSfiddle überprüfen here

+1

Punkt auf der zweiten Linie html entfernen {. {Exchange [Währung]}} muss {{exchange [Währung]}} – aseferov

Antwort

1

Dies ist, wie Sie dies den Winkel Weg machen können.

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> 

-Controller

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 [hier] (http://jsfiddle.net/p2yLxoz7/2/) – BeS

+0

Das war genau das, was ich gesucht habe. Danke vielmals! – Joe82