2.5.21
https://codepen.io/AmrIKhudair/pen/NevxML
1- Erstellen Sie ein klassenerweiterndes Array und fügen Sie eine benutzerdefinierte Methode hinzu
2- instanziieren Sie eine neue Instanz der Klasse und fügen Sie sie zu den Daten hinzu
3- Versuchen Sie, die Methode für die Instanz in der Vorlage aufzurufen
Die Methode wird erfolgreich ausgeführt
Fehler keine Funktion
Vue 2 unterstützt derzeit keine Array-Unterklassen (Vue 3-Entwicklungszweig tut dies bereits). Ich werde dies in eine Feature-Anfrage umwandeln.
@AmrIKhudair
Ich brauchte das auch und habe es im User-Land zum Laufen gebracht. Wenn Vue 3 ankommt, können Sie es entfernen.
export function makeReactive (obj) {
// eslint-disable-next-line no-proto
const proto = obj.__proto__
Object.defineProperty(obj, '__proto__', {
get () { return proto },
// eslint-disable-next-line no-proto
set (newValue) { proto.__proto__ = newValue }
})
}
import { makeReactive } from 'util'
export default class UserCollection extends Array {
constructor (...args) {
super(...args)
makeReactive(this)
}
}
@edcoreweb
Danke vielmals
Hilfreichster Kommentar
@AmrIKhudair
Ich brauchte das auch und habe es im User-Land zum Laufen gebracht. Wenn Vue 3 ankommt, können Sie es entfernen.