У меня есть приложение MEANJS с модулем CRUD стран. Когда я нажимаю на страну из списка списка по умолчанию, она приводит меня в view-country.client.view. Я добавил поле в свою модель для кода валюты. Когда я нажимаю на страну, она приведет меня на страницу, где я хочу, чтобы она повысила обменный курс с json, сопоставляя поле валютного кода модели Страны с моими данными из импорта json.AngularJS + MEANJS - Использовать свойство объектной модели в качестве ключа массива для фильтра
//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 и если я включаю COUNTRYCODE (в данном примере «AFN» для Афганистана), он возвращает правильную скорость. {{Country.currencycode}} возвращает AFN из моего MongoDB, но если я попытаюсь внедрить {{country.currencycode}}, где «AFN», это не сработает. Я пробовал смотреть на фильтры, но я не могу заставить их работать. В принципе, в любое время, когда я нажимаю на страну, я хочу, чтобы она показывала только ставку для этой страны, используя свойство модели как строку для получения правильного объекта из моего массива. Я весь день в форумах и не могу понять это. Заранее спасибо.
Если я правильно понял, вы не хотите, чтобы «AFG» был жестко закодирован здесь: {{exchangeRates.rates ['AFN']}}? Если это так, вы пробовали {{exchangeRates.rates [country.currencycode]}}? –
Ничего себе, у меня был ['country.currencycode'], но он никогда не пробовал его без «попытки попробовать много других комбинаций», что смущало надзор. Вы были правы - это сработало, как вы предложили. Сообщение как ответ, и я соглашусь! Спасибо! – stvnmcdonald