从
discourse-common/lib/get-owner导入getOwner已弃用。
要访问例如服务,您有几种方法可用。
-
在组件/控制器/路由中,您应该使用服务注入
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.containerapiInitializer("1.0", (api) => { const router = api.container.lookup("service:router"); -
对于现有代码的直接替换,您可以使用
import { getOwner } from "@ember/application"; -
…或者如果您仍然需要在非组件/控制器/路由/小部件上下文中使用回退垫片,请使用
import { getOwnerWithFallback } from "discourse-common/lib/get-owner";
本文档是版本控制的 - 在 github 上建议更改。