Я использую framework7. Пытаюсь создать Action Sheet, но столкнулся с проблемой. Мой код:
<script>
return {
methods: {
selectCurrency: function () {
var $ = this.$;
var app = this.$app;
var self = this;
app.preloader.show();
app.request({
url: app.data.api.site + '/index.php?route=tazboapi/locals/list_currencies',
crossDomain: true,
method: "GET",
success: function (successCurrencies) {
app.preloader.hide();
var currenciesObj = JSON.parse(successCurrencies);
var currenciesList = [{text:"Выбор валюты", label: true}];
for (var i = 0; i < currenciesObj.currencies.length; i++) {
curObject = {
text:currenciesObj.currencies[i].title,
onClick:function () {
app.dialog.alert('Cancel clicked' + i);
}
};
currenciesList.push(curObject);
}
currenciesList.push({text:"Закрыть", color:'red', close:true});
// Select
var currencies = app.actions.create({
buttons: currenciesList
});
currencies.open();
},
});
},
}
}
</script>
JSON который я обрабатываю:
{"event":"success","currencies":[{"title":"Euro","code":"EUR","symbol_left":"","symbol_right":"\u20ac"},{"title":"Pound Sterling","code":"GBP","symbol_left":"\u00a3","symbol_right":""},{"title":"US Dollar","code":"USD","symbol_left":"$","symbol_right":""},{"title":"\u0420\u0443\u0431\u043b\u044c","code":"RUB","symbol_left":"","symbol_right":"\u20bd"}]}
Когда я пытаюсь получить переменную i в функции обработчика onClick:function я всегда получаю i=4. Почему и как мне получить корректно переменную i в функции обработчика?
F7 тут ни при чем, это в JS:
for (var i = 0; ...
→ for (let i = 0; ...
Виртуальный выделенный сервер (VDS) становится отличным выбором
Делаю авторизацию gj WifiИз айфонов под рукой только iphone4
При попытке передать объект из C++ в JavaScript, используя QJSEngine, мистическим образом пропадают все поля, значение которых хранит функцииПочему...