Допустим, у меня есть родительский компонент, где я инициализирую переменную массива в свойстве данных Vue. Затем я поместил 10000 элементов объекта в этот массив. Это означает, что каждое свойство каждого объекта этого массива будет иметь сеттер / геттер, который Vue сделал для нас.
Теперь, допустим, я передаю этот массив дочернему компоненту в качестве реквизита.
Вопрос 1)
Дочерний компонент
props:{
passedArray
},
data(){
return {
childArray:[]
}
}
created(){
this.childArray = passedArray
}
Теперь, когда я создал новый массив и установил его равным массиву prop, vue создаст новые сеттеры / геттеры для каждогосвойство каждого объекта childArray? потому что когда vue видит равенство массива, а массив описывается в данных, он создает сеттеры / геттеры для всех. Если он не создает setter / getter, то он проверяет, уже установлены ли объекты переданного массива setter / getter?
Означает ли это, что код этого дочернего компонента победил? Не растет память (RAM) вообще?
2) что если я сделаю что-то подобное в дочернем компоненте
created(){
this.childArray = [].concat(passedArray);
}
а теперь? будет ли он создавать новые сеттеры / геттеры или нет?
это немного увеличит объем оперативной памяти, так как childArray теперь должен хранить ссылки на объекты из sentArray. и в предыдущем случае он просто должен сделать его равным переданному массиву. Правильно?
Вопрос 3)
По моему мнению, он вообще не создает новых сеттеров / геттеров для данных реквизита, если переданный реквизит является объектом или массивом, но я виделinitProps в исходном коде vue, и он все еще создает setter / getter для каждого параметра prop. Это правильно?