2.5.21
https://codepen.io/AmrIKhudair/pen/NevxML
1-配列を拡張するクラスを作成し、カスタムメソッドを追加します
2-クラスの新しいインスタンスをインスタンス化し、それをデータに追加します
3-テンプレート内のインスタンスでメソッドを呼び出そうとします
メソッドは正常に実行されます
エラーは機能ではありません
Vue 2は現在、配列のサブクラス化をサポートしていません(Vue 3開発ブランチはすでにサポートしています)。 これを機能リクエストに変換します。
@AmrIKhudair
私もこれが必要で、ユーザーランドで機能するようにしました。 Vue 3が到着したら、削除できます。
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
どうもありがとう
最も参考になるコメント
@AmrIKhudair
私もこれが必要で、ユーザーランドで機能するようにしました。 Vue 3が到着したら、削除できます。