2016-04-24 18 views
0

我需要根據用戶選擇的貨幣顯示同一項目的不同價格(不同的價格已經從後端提供,因此不需要做任何進一步的轉換)。我想改變與表達NG單擊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