2.5.21
https://codepen.io/AmrIKhudair/pen/NevxML
1- crea una clase ampliando Array y agrega un método personalizado
2- instancia una nueva instancia de la clase y agrégala a los datos
3- intenta llamar al método en la instancia en la plantilla
El método se ejecuta con éxito
Error no es una función
Actualmente, Vue 2 no admite la subclasificación de Array (la rama de desarrollo de Vue 3 ya lo hace). Convertiré esto en una solicitud de función.
@AmrIKhudair
También necesitaba esto y lo hice funcionar en la tierra de los usuarios. Cuando llegue Vue 3, podrás eliminarlo.
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
Muchas gracias
Comentario más útil
@AmrIKhudair
También necesitaba esto y lo hice funcionar en la tierra de los usuarios. Cuando llegue Vue 3, podrás eliminarlo.