W jaki sposób można uzyskać dostęp do modelu z poziomu kontrolera? Obecnie użycie poniższego kodu zwraca "niezdefiniowany nie jest funkcją" (patrz rysunek JS nie powiedzie się ...).Model dostępu do embera wewnątrz kontrolera
modele/plan.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
period: DS.attr('number'),
price: DS.attr('number'),
});
szlaki/checkout.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function(params) {
return this.store.find('plan', params.plan_id);
}
});
kontrolery/checkout.js
import Ember from 'ember';
export default Ember.Controller.extend({
submitPayment: function(error, result)
{
var plan = this.get('model');
}
}
router.js
Router.map(function() {
this.route('checkout', {path: '/checkout/:plan_id'});
});
może „to” nie jest kontrolerem w „submitPayment”. Czy submitPayment to działanie? Jeśli tak, powinieneś umieścić go wewnątrz obiektu akcji. Lub sprawdzić typowe, czy model jest pobierany w haku modelu? – blessenm
submitPayment jest po prostu funkcją wywoływaną z poziomu akcji. Tak, model jest przechowywany, bez problemów. –
Zamiast rozszerzania "Ember.Controller", spróbuj "Ember.ObjectController". – blessenm