我是离子,角度和火基的新手。这可能是一个荒谬的问题:)
我正在使用ionic + firebase创建一个应用程序,我想从多个输入中创建一个JSON。我有一个如下图所示的界面。
我该如何从菜单'制作JSON?如密钥和' Price'为值。 在上图中显示意外结果,结果必须如此
[{"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 = [];
});
谢谢你:)
答案 0 :(得分:0)
我假设你的控制器上的第一个数组可用,并且编辑实际上改变了这个数组。如果是这种情况,那么迭代遍历该数组并构建字符串的每个都应该足够了。我不知道你可以调用的任何东西只是将数组展平为JSON字符串。
答案 1 :(得分:0)
这个问题仅仅是简单的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的基本书和角度教程。