Nếu bạn nhìn vào package.json
của bạn, bạn sẽ thấy một gói ember-export-application-global
được cài đặt theo mặc định (nếu không, cài đặt nó). Thao tác này sẽ xuất ứng dụng của bạn sang đối tượng App
toàn cầu, nhưng đối tượng toàn cầu được đặt tên sau ứng dụng của bạn. Vì vậy, bạn có thể có window.TodoList
hoặc window.ShoppingCart
thay vì window.App
. Từ đó bạn có thể sử dụng dòng này (tương tự như Ember 1.xx):
AppName.__container__.lookup('service:store')
Bạn cũng có thể làm những gì tôi làm và tạo ra một instance initializer cho nó:
export default {
name: 'store-on-app',
after: 'ember-data',
initialize(instance) {
const application = instance.container.lookup('application:main');
const store = instance.container.lookup('service:store');
application.set('store', store);
}
}
Sau đó, bạn có thể chỉ sử dụng AppName.store
.
Bạn không thể sử dụng Thanh tra Ember? – nem035
Vâng, nó chỉ tốt cho các thực thể "bình thường" được nạp. Tôi đã có một mô hình mà không tải một cách chính xác (rất nhiều lĩnh vực null), tôi nghi ngờ một vấn đề lập bản đồ nhưng không có lỗi nhìn thấy trong giao diện điều khiển, vì vậy tôi muốn tự kích hoạt một tải cửa hàng. –