Начальное пустое - Number. Так может в watch имеет смысл следить?
я про список сообщений - изначально пустой массив отрисовывается?
На странице отрисовывается все гуд. Но в методах нет.
т.е. если на странице {{message.subject}} отображает заголовок, то в mounted console.log(this.message.subject) как будто работает с задержкой. И сначала выводит пустое значение. А потом заголовок предыдущего сообщения. Т.е. для 4 сообщений вывод выглядит. String() Subject... Subject... Subject...
это не задержка, а асинхронность у тебя список сообщений не из воздуха берется же, верно? он наверняка достается из какого-нибудь апи, и вот на момент выполнения mounted у тебя данные еще не получены а updated нужен совершенно для других целей, не нужно его юзать
Сообщения получаю через ajax в компоненте dialogue.vue Помещаю их в this.messages. Далее передаю сообщения циклом в компонент message.vue <dialogue-message :dialogue="dialogue" :message="message"> </dialogue-message> В компоненте message.vue помещаю сообщение в свойство message export default { props: { message: { Что я делаю не так?
все так, только запрос не успевает выполниться на момент выполнения mounted() в дочернем компоненте, поэтому ты и не получаешь актуальное значение повесь, например, вотчер в дочернем компоненте и ты увидишь, как значение обновляется несколько раз
Хорошо и как мне в зависимости от message.message_type произвести вычисления и изменить шаблон? В каком месте это делать?
как обычно - либо через v-if непосредственно в шаблоне, либо через computed
Меня интересует статическое свойство message.message_type. По сути мне не надо его высчитывать. Но мне нужно в зависимости от типа проверить другие свойства message и изменить вывод. Computed точно для этого предназначен?
computed предназначен для вычислений новых реактивных свойств на основе уже имеющихся если тебе нужно что-то посчитать, например, отфильтровать массив, то в computed этому самое место я, честно говоря, не до конца понимаю твою проблему и что тебе мешает поставить в шаблоне v-if на основе своего message_type опиши подробнее задачку, либо накидай простенький sandbox с проблемой
Спасибо, попробую с computed!
Обсуждают сегодня