![]()
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.containerへのアクセスが可能ですapiInitializer("1.0", (api) => { const router = api.container.lookup("service:router"); -
既存のコードの直接的な置き換えには、以下を使用できます
import { getOwner } from "@ember/application"; -
…または、フォールバックシムがまだ必要な場合(コンポーネント/コントローラー/ルート/ウィジェットのコンテキスト以外)は、以下を使用します
import { getOwnerWithFallback } from "discourse-common/lib/get-owner";
このドキュメントはバージョン管理されています - 変更提案はgithubでお願いします。