AngularJS + MEANJS - 使用对象模型属性作为过滤器的数组键

时间:2015-05-13 20:42:40

标签: javascript json angularjs meanjs

我有一个带有国家CRUD模块的MEANJS应用程序。当我从默认列表视图中单击某个国家/地区时,它会将我带到view-country.client.view。我在我的模型中为currencycode添加了一个字段。当我点击该国家时,它会将我带到一个页面,我希望它通过将Country模型的currencycode字段与来自json import的数据相匹配来提高json的汇率。

//view-country.client.view

<section data-ng-controller="CountriesController" data-ng-init="findRate()">
 <div class="col-lg-3 col-md-6 col-sm-12">
    <div class="panel panel-dark">
        <div class="panel-heading">Currency</div>
        <div class="panel-body">
        {{country.currencycode}}
            <p>The exchange rate is {{exchangeRates.rates['AFN']}}
            </div>
         </div>
   </div>
</section>





//findRate() for data-ng-init in CountriesController

$scope.findRate = function() {

            $scope.country = Countries.get({ 
                    countryId: $stateParams.countryId
                });

            $http.get('http://localhost:3000/rates.json').
            success(function(data) {
                $scope.exchangeRates = data        
            });
        };

所有内容都在使用JSON导入,如果我包含国家/地区代码(在此示例中为AFN&#39;为阿富汗),它将返回正确的费率。 {{country.currencycode}}从我的MongoDB中返回AFN但是如果我尝试将{{country.currencycode}}嵌入到AFN&#39;是的,它不会起作用。我试过看过滤器,但我不能让它们工作。基本上,每当我点击一个国家/地区时,我希望它只显示该国家/地区的费率,方法是将模型属性用作从我的数组中获取正确对象的字符串。我整天都在论坛上,无法弄清楚这一点。提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你不希望'AFG'在这里被硬编码吗?

{{exchangeRates.rates['AFN']}}

如果是这样的话,你试过这个吗?

{{exchangeRates.rates[country.currencycode]}}