Sto solo imparando Ember.js e ho avuto un piccolo problema. Ho un servizio dove voglio chiamare un altro metodo che ho definito all'interno dello stesso oggetto, in questo modo:Metodo di chiamata da altro metodo all'interno di Ember Service
export default Ember.Service.extend({
myMethod: function() { ... },
otherMethod: function() {
this.myMethod(); // <---- this doesn't work
this.get('myMethod')(); // <---- also doesn't work
Ember.run.bind(this, this.myMethod)() // <---- no dice
}
});
Esiste un modo per fare questo? Mi piacerebbe molto riutilizzare il codice nella mia base di codice.
Grazie.
La tua domanda è davvero a corto di qualsiasi tipo di dettaglio, per esempio come stai inizializzando e chiamando 'myMethod()' sul tuo servizio. Ma non dovresti estendere "Ember.Service' ma' Ember.Object', e dovresti inizializzarlo correttamente: http://emberjs.com/guides/understanding-ember/dependency-injection-and-service-lookup/ – Leeft
... questo fa parte di un corso di formazione Ember, quindi sto solo facendo come mi stanno dicendo che dovrei. Non sono sicuro di quali altri tipi di dettagli siano necessari. Non dovrei essere in grado di chiamare il metodo di un oggetto da se stesso? – Jason
Supponendo che tu stia creando una sorta di nuovo oggetto con questa classe e poi chiamando 'serviceObject.otherMethod()' non dovresti avere problemi a fare proprio questo. Non c'è nulla nel codice che hai mostrato che possa vietarlo, quindi deve essere il modo in cui lo crei o lo usi. – Leeft