# Aggiornamento Ember: qual è il piano per Mixins, specificamente bufferedProperty?

**URL:** https://meta.discourse.org/t/ember-upgrade-whats-the-plan-for-mixins-specifically-bufferedproperty/288173
**Category:** Development
**Created:** [10 Dicembre 2023, 9:59pm UTC](https://meta.discourse.org/t/ember-upgrade-whats-the-plan-for-mixins-specifically-bufferedproperty/288173 "2023-12-10T21:59:54Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [10 Dicembre 2023, 9:59pm UTC](https://meta.discourse.org/t/ember-upgrade-whats-the-plan-for-mixins-specifically-bufferedproperty/288173/1 "2023-12-10T21:59:54Z")

</div>

Sto lavorando su [COMPATIBILITY: move thumbnail selector to Glimmer & new Component modal system by merefield · Pull Request #32 · merefield/discourse-tc-topic-list-previews · GitHub](https://github.com/paviliondev/discourse-tc-topic-list-previews/pull/32)

Stavo usando `bufferedProperty` su un Modal Controller, ma ora sono stato costretto a passare a un Component per supportare [la nuova architettura modale dei Component](https://meta.discourse.org/t/converting-modals-from-legacy-controllers-to-new-dmodal-component-api/268057).

Tuttavia, credo di aver ancora bisogno di usare bufferedProperty (sto aggiornando un valore in Topic Meta).

Questo però genera un errore:

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

```

… e ottengo `TypeError: n.default.extend is not a function`

Ho trovato alcuni esempi di questo pattern, ma solo per i Controller:

> <https://github.com/discourse/discourse/blob/4949d85c15be99abb3515e659ef674d58cc2c4c4/app/assets/javascripts/admin/addon/controllers/admin-badges/show.js#L17>

Sarebbe utile sapere qual è il piano qui sul “TODO”.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [11 Dicembre 2023, 9:57am UTC](https://meta.discourse.org/t/ember-upgrade-whats-the-plan-for-mixins-specifically-bufferedproperty/288173/2 "2023-12-11T09:57:24Z")

</div>

La risposta più semplice a breve termine è: continuare a utilizzare un componente classico per la modale (cioè non un componente glimmer). I componenti classici supportano ancora i mixin.

Attenersi a un componente classico (cioè la strategia descritta in [Converting modals from legacy controllers to new DModal component API](https://meta.discourse.org/t/converting-modals-from-legacy-controllers-to-new-dmodal-component-api/268057)) offrirà l’aggiornamento 1:1 più pulito dal vecchio sistema basato sui controller.

A lungo termine, dovremo trovare alternative ad alcuni dei nostri mixin principali. Ma non ci siamo ancora arrivati.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [14 Dicembre 2023, 10:20am UTC](https://meta.discourse.org/t/ember-upgrade-whats-the-plan-for-mixins-specifically-bufferedproperty/288173/3 "2023-12-14T10:20:49Z")

</div>

Solo per un follow-up e per ringraziarti. Ho usato [questo approccio esatto e ho fatto funzionare tutto](https://github.com/paviliondev/discourse-tc-topic-list-previews/pull/32) - ho spostato tutto in Glimmer tranne il modale stesso che necessitava del Mixin.

A proposito, `bufferedProperty` sembra fare molta magia e non sembra seguire nessuna delle regole standard relative al passaggio delle modifiche!

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [13 Gennaio 2024, 10:21am UTC](https://meta.discourse.org/t/ember-upgrade-whats-the-plan-for-mixins-specifically-bufferedproperty/288173/4 "2024-01-13T10:21:17Z")

</div>

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