vueのdataプロパティに値を格納しようとしたら、元のインスタンスのクラスが保持されずに困っています。
具体的にはこのような挙動になります。
top.vue
<template> <h2>{{ all_events.constructor.name }}</h2> </template> <script type="text/javascript"> import EventsCollection from 'models/events_collection' export default { data: function () { return { all_events: null, } }, created(){ console.log("EventsCollectionのコンストラクタは定義されている。"); console.log(EventsCollection); console.log("EventsCollectionのインスタンスも作れる。"); var aaa = new EventsCollection() console.log( aaa.constructor.name ); console.log("ただ、vueオブジェクトに格納するとなぜか継承元のArrayになってしまう。"); this.all_events = new EventsCollection() console.log( this.all_events.constructor.name ); } } </script>
models/events_collection.js
export default class EventsCollection extends Array { constructor(arg) { super() }
この状態ではall_eventsからEventCollectionに定義したメソッドを呼び出せないので、呼び出せるようにしたいです。
環境はrailsのwebpackerです。
よろしくお願いします…
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。