Tôi chỉ đang học Ember.js và chạy vào một chút xíu. Tôi có một Dịch vụ mà tôi muốn gọi một phương pháp khác mà tôi đã xác định trong cùng một đối tượng, như vậy:Phương thức gọi từ phương thức khác trong Dịch vụ Ember
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
}
});
Có cách nào để làm điều này không? Tôi rất muốn sử dụng lại mã trong codebase của tôi.
Cảm ơn.
Câu hỏi của bạn thực sự ngắn về bất kỳ loại chi tiết nào, ví dụ: cách bạn khởi tạo và gọi 'myMethod()' trên dịch vụ của bạn. Tuy nhiên, bạn không nên mở rộng 'Ember.Service' nhưng' Ember.Object', và bạn nên khởi tạo nó một cách chính xác: http://emberjs.com/guides/understanding-ember/dependency-injection-and-service-lookup/ – Leeft
... đây là một phần của khóa đào tạo Ember, vì vậy tôi chỉ làm như thế nào họ đang nói với tôi rằng tôi nên làm. Tôi không chắc chắn các loại chi tiết khác là cần thiết. Tôi có nên gọi phương thức của một vật thể từ bên trong nó không? – Jason
Giả sử bạn đang tạo một số loại đối tượng mới với lớp này, và sau đó gọi 'serviceObject.otherMethod()' bạn sẽ không gặp vấn đề gì khi thực hiện điều đó. Không có gì trong mã bạn đã cho thấy sẽ cấm điều này, vì vậy nó phải là cách bạn tạo hoặc sử dụng nó. – Leeft