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