Emberアップグレード:Mixin、特にbufferedPropertyの計画は?

COMPATIBILITY: move thumbnail selector to Glimmer & new Component modal system by merefield · Pull Request #32 · merefield/discourse-tc-topic-list-previews · GitHub で作業しています。

Modal Controller で bufferedProperty を使用していましたが、新しいコンポーネントモーダルアーキテクチャ をサポートするために、Component に移動せざるを得なくなりました。

しかし、bufferedProperty はまだ必要だと思います (Topic Meta の値を更新しています)。

しかし、これはエラーを発生させます。

export default class AwesomeModalComponent extends Component.extend(
  bufferedProperty("model")
) {

…そして TypeError: n.default.extend is not a function が発生します。

このパターンの例を見つけましたが、Controller のものだけです。

「TODO」の計画について知ることができれば幸いです。

「いいね!」 3

最も簡単な短期的な解決策は、引き続きモーダルにクラシックコンポーネント(つまり、Glimmerコンポーネントではないもの)を使用することです。クラシックコンポーネントは引き続きミックスインをサポートしています。

クラシックコンポーネント(つまり、Converting modals from legacy controllers to new DModal component API で説明されている戦略)に準拠することは、古いコントローラーベースのシステムから最もクリーンな1対1のアップグレードを提供します。

長期的には、一部のコアミックスインの代替手段を見つける必要があります。しかし、まだそこまで到達していません。

「いいね!」 4

フォローアップと感謝の意を伝えます。このアプローチをそのまま使用し、すべてを機能させることができました。モデル自体はMixinを必要としたため、それ以外はすべてGlimmerに移行しました。

ちなみに、bufferedProperty は多くのマジックを実行しているようで、変更の伝達に関する標準的なルールに従っていないようです。

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.