Làm cách nào để có thể truy cập mô hình từ bên trong bộ điều khiển? Hiện tại việc sử dụng đoạn mã dưới trả về một "undefined không phải là một hàm" (đi con số JS thất bại ...).Mô hình truy cập Ember bên trong bộ điều khiển
mô hình/plan.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
period: DS.attr('number'),
price: DS.attr('number'),
});
tuyến/checkout.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function(params) {
return this.store.find('plan', params.plan_id);
}
});
controllers/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'});
});
có thể 'this' không phải là bộ điều khiển trong 'submitPayment'. Gửi thanh toán là một hành động? Nếu vậy bạn nên đặt nó bên trong một đối tượng hành động. Hoặc kiểm tra các thông thường, là mô hình được lấy trong móc mô hình? – blessenm
submitPayment chỉ là một chức năng được gọi từ bên trong một hành động. Có, mô hình đang được lưu trữ, không có vấn đề ở đó. –
Thay vì mở rộng 'Ember.Controller', hãy thử 'Ember.ObjectController'. – blessenm