Показать сообщение отдельно
  #3 (permalink)  
Старый 16.04.2020, 11:51
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от micscr
//this.propleft+=10; // ошибка
this.propleft — это строка, которая взята из атрибута. Например, если в атрибуте написано "100", то после вашего «сложения» получается "10010".

Сообщение от micscr
1) вот так что ли эти св-ва и понимать, не как "св-ва компонента"(св-ва объекта) а как неизменяемые данные переданные компоненту
Свойства (props), данные (data), вычисляемые свойства и методы в конечном счёте оказываются свойствами (геттеры и сеттеры) экземпляра класса Vue — куда могут также включаться «хуки» жизненного цикла, когда компонент объявлен как класс. Как и в любом другом классе, их имена могут конфликтовать.

Сообщение от micscr
2) инициализировать ими свои внутренние данные получается через хук created()?
Если вам не нужно преобразование значении атрибутов, то такой шаг не обязателен. Однако у вас this.left и this.top получают строковые значения, а вы с ними хотите работать как с числами — соответственно такой шаг в данном примере нужен. (преобразование к числу)

Сообщение от micscr
3) А наблюдение за изменениями св-в нет?
Просто если входной параметр привязываешь к переменной снаружи и хочешь отследить ее изменение, то
так не работает:
Вы можете назвать соответствующие атрибуты также как и имена свойств, тогда не будет повторяющихся данных, которые нужно будет синхронизировать.

https://codepen.io/Malleys/pen/wvKMNRv
Ответить с цитированием