AngularJS双向绑定数学运算

时间:2018-06-04 12:40:00

标签: javascript angularjs

我正在尝试使用AngularJS的双向数据绑定从欧元到美元构建货币转换器,这样当输入欧元金额发生变化时,目标美元金额也会发生变化。

这就是我所拥有的。当我输入时,它会将usd_amount字段填充为与eur_amount相同的值:

<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
</head>
<body>
<form action="/action_page.php">
<div ng-app>
  You pay (EUR):
  <input id="eur_amount" type="number" ng-model="eur_amount"><br>
  You get (USD):
  <input id="usd_amount" type="number" value="{{eur_amount}}"><br> <!-- {{eur_amount * 1.2 }}  -->
  <input type="submit" value="Submit">
</div>
</form> 
</body>
</html>

如何将{{eur_amount}}变量与汇率$rate相乘,这是一个构造为较早的PHP变量,以获得usd_amount

修改
Laravel的Blade模板引擎和Angular在显示变量{{variableName}}时使用相同的标记。当我使用Laravel时,要使用[[variableName]]访问变量,我添加了如下脚本:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
<script>
var toAmountCalculator = angular.module('toAmountCalculator', [], function($interpolateProvider) {
    $interpolateProvider.startSymbol('[[');
    $interpolateProvider.endSymbol(']]');
    $scope.rate = '<?php echo $rate; ?>';
});
</script>

我可以使用{{rate}}(这是Blade的标记)来显示$rate PHP变量。如何与AngularJS'[[rate]]显示汇率?

2 个答案:

答案 0 :(得分:1)

将汇率保留在范围变量中,并使用*运算符多次使用。

var currentUser = req.headers.authorization.split(' ')[1];
if (currentUser !== undefined) {
   currentUser = JSON.parse(currentUser);
}

if (!currentUser) {
    console.log('\n user not logged in');
    res.status(401).json('User not logged in');
}

答案 1 :(得分:0)

您可以在{{eur_amount * 1.2 }}属性中使用value。或者,您可以为美元输入分配单独的ng-model,并应用ng-change功能更新美元ng-model