2015-12-10 39 views
0

我一直在研究一個應該從在線數據庫獲取菜單的餐廳應用程序。解析數據庫JavaScript和PhoneGap

這是怎麼了我目前和「手動」填充菜單:

Controller.html

$scope.menu = [{ 
        name: 'Espresso', 
        price: 27, 
        qty: 1, 
        desc: "One shot of espresso prepared with 7 grams of ground coffee in a single portafilter. The shot should be 1 ounce of liquid. You have two choices with espresso: ristretto, a very short or 「restrained」 shot, brewed at less than 2/3 of a demitasse, or luongo, a long pull of espresso brewed so the liquid should be more than 2/3 of a demitasse.", 
        img: "img/espresso.png", 
        active: false, 
        sizes: [{name: "Small", price: 0, active:false}, 
          {name: "Medium", price: 5, active:false}, 
          {name: "Large", price: 10, active:false}], 
        flavors: [{name: 'Vanilla', price: 8, active: false}, 
           {name: 'Almond', price: 8, active: false}, 
           {name: 'Hazelnut', price: 8, active: false}, 
           {name: 'Caramel', price: 8, active: false}] 
        }]; 

但是我似乎無法做到這一點使用解析填充,我會怎樣處理這使用下面的查詢(這是一個工作查詢)。

的Index.html

<script type="text/javascript"> 

    Parse.initialize("vGoJDvwwfZBiUFcwfkee7M5vCqL7lLxCgKIFJXDc", "6VRlos6qppaek1uDPPLqpHtmB3fHefOJMqYJNxj9"); 

    var DrinkMenu = Parse.Object.extend("DrinkMenu"); 
    var query = new Parse.Query(DrinkMenu); 
    query.find({ 
    success: function(results) { 
     alert("Successfully retrieved " + results.length + " items."); 
     // Do something with the returned Parse.Object values 
     for (var i = 0; i < results.length; i++) { 
     var object = results[i]; 
     alert(object.id + ' - ' + object.get('name')); 
     } 
    }, 
    error: function(error) { 
     alert("Error: " + error.code + " " + error.message); 
    } 
    }); 

</script> 

你可以看到,我可以得到所需要的每個項目中的變量,在這種情況下,第一個結果,這是我在警報顯示的名稱。

任何幫助表示讚賞!

回答

1

Parse.initialize後,創建一個變量,像這樣:

var arrMenu = []; 

然後改變線路警報(object.id + ' - ' + object.get( '姓名'));到

arrMenu.push({ 
        name: object.get('name'), 
        price: object.get('price'), 
        qty: object.get('qty'), 
        desc: object.get('desc'), 
        img: object.get('img'), 
        active: object.get('active'), 
        sizes: object.get('sizes'), 
        flavors: object.get('flavor') 
      }); 

我想你正在使用你提到的結構來存儲Parse集合中的信息。如果不同,請告訴我。

而且,布拉克後關閉了,你加:

$scope.menu = arrMenu; 

我希望它能幫助!

+0

非常感謝!它完美地工作:D –