因为标题说我将视图中的值从控制器传递到myService中的方法,该方法在同一对象中触发其他方法。
所以这个变量的方式是
view - >控制器 - >服务 - > method2 - >方法1
HTML
<select id="final_price_currency"
ng-model="selectedCurrency"
ng-change="currencySelect.fireCurrencyChanger()">
<option ng-repeat="n in currencySelect.availableOptions" value="{{n.name}}">{{n.name}}</option>
</select>
控制器:
$scope.currencySelect = {
availableOptions: [
{name: 'USD'},
{name: 'EUR'},
{name: 'GBP'},
{name: 'CHF'},
{name: 'PLN'}
],
fireCurrencyChanger: function() {
var priceField = $scope.price;
var selectedCurrency = $scope.selectedCurrency;
currencyConverterService.currencyConverter.convertMoney(selectedCurrency,priceField);
}
}
服务中的方法2(刚刚开始):
// parameters are also used in convertMoney
convertMoney: function(selectedCurrency,priceField) {
this.getRatio(selectedCurrency);
服务中的Method1(刚刚开始):
getRatio: function(selectedCurrency) {
var selectedCurrency = this.selectedCurrency ;
$http({
url: 'http://api.fixer.io/latest?base='+selectedCurrency +'&symbols=PLN,CHF,EUR,USD,GBP',
method: 'GET'
})
.then(function(response) {
var currentCurrency = {
toPLN: response.data.rates.PLN,
toCHF: response.data.rates.CHF,
toEUR: response.data.rates.EUR,
toUSD: response.data.rates.USD,
toGBP: response.data.rates.GBP
}
正如您在获得当前货币的成功电话中看到的那样,我创建了另一个对象,该对象存储了未来计算的汇率 Method2 。
问题:
注意:
我知道它根本不安全。它只适用于前端使用。