Импорт
getOwnerизdiscourse-common/lib/get-ownerустарел.
Для доступа, например, к сервисам у вас есть несколько доступных методов.
-
В компонентах, контроллерах и маршрутах следует использовать внедрение сервисов:
import { service } from "@ember/service"; export default class Something extends Component { @service router; -
В случаях, когда сервис может быть недоступен (например, если он предоставляется необязательным плагином), существует внедрение
optionalService:import optionalService from "discourse/lib/optional-service"; export default class Something extends Component { @optionalService categoryBannerPresence; -
В инициализаторах API у вас есть доступ к
api.container:apiInitializer((api) => { const router = api.container.lookup("service:router"); -
А для прямой замены существующего кода можно использовать:
import { getOwner } from "@ember/application"; -
…или, если вам всё ещё нужна резервная обёртка (в контексте, отличном от компонента/контроллера/маршрута/виджета), используйте:
import { getOwnerWithFallback } from "discourse-common/lib/get-owner";
Этот документ находится под версионным контролем — предлагайте изменения на GitHub.