2015-11-27 13 views
9

In Android ho suddiviso le sottoclassi ParseObject con due variabili locali che non sono nella classe Parse. Avevo solo bisogno di impostare quelle variabili localmente e non avevo bisogno di salvarle sul server. Sono String chiamati helper1 e helper2 con getter e setter.sottoclasse JavaScript in Parse.com

Funziona perfettamente su Android: posso utilizzare i metodi setHelper1("whatever"); e getHelper() sul mio ParseObject.

Quello che voglio fare è fare lo stesso in JavaScript poiché voglio fare la stessa operazione in ParseCloud e farlo restituire risultati con quello Strings aggiuntivo senza creare colonne aggiuntive nella classe del database.

Ho letto https://parse.com/docs/js/guide#objects-parse-object e https://parse.com/docs/js/guide#queries-basic-queries ma non aiuta molto e non riesco a ottenerlo. Come si potrebbe ottenere?

edit:

q1.find({ 
    success: function(results){  

    for (var x in results){ 
     x.helper1 = 'foo'; 
    } 

    response.success(results); 
    }, 
    error: function(error){ 

    } 
}); 

risposta

5

In JavaScrpt tutto è facile. Per quanto ne so, questi oggetti parse sono memorizzati sotto forma di un oggetto JSON. (oggetti equivalentemente letterali in JavaScript).

In JavaScript, se si desidera aggiungere una proprietà aggiuntiva (ruolo di un membro della classe) a un oggetto esistente, è sufficiente utilizzare questo codice.

var myobj = /* This is that parse-object */ 

// Add property helper1 
myobj.helper1 = 'foo'; 

// Add property helper2 
myobj.helper2 = 'bar'; 

Per rimuovere tali proprietà, utilizzare questo codice.

// Remove property helper1 
delete myobj.helper1; 

// Remove property helper2 
delete myobj.helper2; 

equivalente, è possibile utilizzare [] per creare e accedere a una proprietà.

// Add property help1 
myobj['helper1'] = 'foo'; 

// Access it 
console.log(myobj['helper1']); 
+0

Ho aggiornato la mia domanda. Ho provato ad usare quell'approccio via loop, ma quando ho letto che è 'undefinded'. –

+0

Oh, e uso 'console.log (array [i] .get (" helper1 "));' per leggere –

+0

@ jeand'arme Usa 'risultati [x] .helper1 = 'pippo';' in quel ciclo. –

0

ho deciso che, utilizzando @Hi Sono le risposte di Frogatto, ma è emerso che è possibile farlo sul lato server o sul lato client, ma solo a livello locale. Quindi, quando invio i dati con helper1 o helper210, sono appena spariti, quindi ho dovuto eseguire quell'operazione sul lato client che espone un po 'di logica aziendale.

La mia domanda è ancora valida. Tuttavia, molti di voi dovrebbero ricevere informazioni utili dalle risposte di frogatto. Usa la mia risposta come soluzione alternativa.

Problemi correlati