Я новичок в ионной, угловой и огневой базе. это, наверное, смешной вопрос :)
Я работаю с ионной + firebase, чтобы сделать приложение, я хочу сделать JSON с нескольких входных данных. У меня есть интерфейс, как показано ниже (изображение).
что я должен сделать, чтобы сделать JSON из "Меню" в качестве ключа и "Цена" в качестве значения. на изображении выше показывает неожиданный результат, результат должен быть таким
[{"yakiniku":"2000","ramen":"1200"}]
Посмотреть
<div class="row">
<div class="col">
<div class="item item-divider">
Menu
</div>
<label class="item item-input">
<input type="text" ng-model="menu_resto[0].menu1" name="menu_resto[]" placeholder="Menu">
</label>
<label class="item item-input">
<input type="text" ng-model="menu_resto[1].menu2" name="menu_resto[]" placeholder="Menu">
</label>
</div>
<div class="col">
<div class="item item-divider">
Price
</div>
<label class="item item-input">
<input type="text" ng-model="menu_resto[0].price1" name="menu_resto[]" placeholder="Price">
</label>
<label class="item item-input">
<input type="text" ng-model="menu_resto[1].price2" name="menu_resto[]" placeholder="Price">
</label>
</div>
</div>
{{menu_resto}}
контроллер
resto.controller('DaftarRestoCtrl',function($scope,DB,$firebaseArray){
$scope.menu_resto = [];
});
Спасибо :)
Этот вопрос сводится к чистому javascript. Пожалуйста, не индексируйте свои данные дважды. Его достаточно, чтобы вызвать переменные модели
menu_resto[0].menu
menu_resto[0].price
menu_resto[1].menu
menu_resto[1].price
...
Затем все, что вам нужно сделать, - нажать кнопку безопасной кнопки, связать следующую функцию с помощью ng-click="json = genJSON()"
:
$scope.json = {};
$scope.genJSON = function () {
return $scope.menu_resto.map(function (entry) {
var newObj = {};
newObj[entry.menu] = entry.price;
return newObj;
})
}
Пожалуйста, рассмотрите возможность прочтения основной книги по javascript и некоторого учебника по угловому вопросу, прежде чем задавать следующий вопрос.
Я предполагаю, что первый массив доступен на вашем контроллере где-то и что изменения действительно изменяют этот массив. Если это так, просто для каждого, который выполняет итерацию через этот массив и строит строку, должно быть достаточно. Я не знаю, что вы могли бы вызвать, чтобы просто сгладить массив в строку JSON.
[{name: "yakiniku", price: 2000},{name: "ramen", price: 1500}]
названия своих объектов ...[{name: "yakiniku", price: 2000},{name: "ramen", price: 1500}]
. Гораздо проще, когда вы имеете дело с повторяющимися элементами, структура которых соответствует. Также, когда вам нужно искать FireBase