Я слышал что он может как то блокировать или замораживать свойство, объясните плз что он делает, подоступнее)
Этот метод позволяет предотвращать изменение уже существующих свойств, и соответственно в Vue.js делает невозможным отслеживание изменений для системы реактивности в которую добавляются все свойства в data.
var ex = {
prop: 'Original message!'
}
Object.freeze(ex)
new Vue({
el: '#app',
data: ex
})
var example = {
prop1: 'Original message!!!'
}
new Vue({
el: '#applic',
data: example
})
<div id="app">
{{ prop }}
<button v-on:click="prop = 'Not original message!'">Изменить
<div id="applic">
{{ prop1 }}
<button v-on:click="prop1 = 'Not original message!'">Изменить
У нас есть два блока с разным айди, внутри каждого находится текст который выводит свойство Vue объекта, у каждого блока есть кнопка, при нажатии на которую происходит попытка изменить значение свойства.
В javascript блоке мы видим что мы объявляем объект со свойством который далее присваиваем в экземпляр Vue в data предварительно использовав на этом объекте метод Object.freeze(ex), далее создаем точно аналогичную конструкцию, только без Object.freeze(). Теперь запустив код в браузере видно, что свойство первого объекта нельзя изменить из за указанного выше метода, а свойства второго объекта спокойно меняются.