如何使用用户的输入从对象中检索值? (Angularjs)

时间:2016-02-17 21:02:29

标签: javascript angularjs object expression angularjs-ng-model

我正在尝试在用户提供输入时自动计算费率。

用户可以从“类型”列表中选择3个项目中的一个,并且应该输入乘数(输入)和所选对象相乘的结果。

我尝试了很多东西(包括在控制器上进行插值),但似乎无法检索名称与ng-model相同的对象中的速率。

我可以在这做什么?

HTML:

<div ng-app="myApp" ng-controller="myCtrl">

    <label>Input a multiplier</label></br>
    <input ng-model="h" /></br>

    <label>Which object do you want?</label></br>
    <select ng-model="objectType" ng-options="j for j in types"></select></br>

    <h1> {{ h * rates.objectType }} </h1>
</div>

Angularjs:

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

    $scope.types = ["obj1", "obj2", "obj3"];
    $scope.rates = {
        obj1: 3,
        obj2: 5,
        obj3: 7
    }
});    

2 个答案:

答案 0 :(得分:2)

对变量属性名称使用[]对象表示法

{{ h * rates[objectType] || 0 }}

|| 0假设您希望在未定义任何其他值时显示零

答案 1 :(得分:2)

你可以这样做

{{h * rates[objectType] || 0}}