Vue.js передача в props вычисляемого свойства computed

116
07 мая 2018, 23:23

Есть вот такой элемент в style которого я передаю динамическую длину зависящую от длины массива с элементами.

computed: {
    elementStyle() {
      var fileElementWidth = 69 + 5;
      var width = this.files.length * (fileElementWidth);
      if (this.allowableWidth - width < fileElementWidth)
        width = '100%';
      else
        width += 'px';
      return { width };
    }
}

И если оставшегося места не хватает под элемент, то я задаю ширину в 100% и новый добавленный элемент переносится на новую строку.

props: ['files', 'allowableWidth']

Вот props, который компонент принимает. Массив с файлами и допустимую длину.

<row
    :files="files"
    :allowableWidth="width"
/>
data () {
    return {
      files: [{name: 'name1'}],
      count: 0,
      width: 800
    };
}

Во второй prop сначала передается свойство width у родительского компонента. Но позже я меняю длину элемента DOM и я должен начать передавать в дочерний компонент результат computed - resizedWidth.

computed: {
    resizedWidth() {
      return this.$el.clientWidth;
    }
}

Сразу я его передать не могу, т.к родительский компонент еще не добавлен в DOM, не могу получить его свойство.

Соберу теперь все в одном месте. Идея в том, что при изменении CSS Width у родителя, эта же width передавалась в дочерний компонент каким-то образом, чтобы понять переносить мне уже элемент или нет. Computed свойство я не могу передать в prop дочернему компоненту. Хотел как-то реализовать это через LifeCycles, но получаются только костыли.

READ ALSO
Как получить доступ к текущей таблице после её добавления?

Как получить доступ к текущей таблице после её добавления?

У меня есть таблица tb_questions после добавлении в нее новой записи, мне нужно моментально добавить в tb_recipients id данной записи, то есть в tb_recipients...

185
Плюсы и минусы двух связок для php7 - nginx/apache/mod_php vs nginx/php-fpm

Плюсы и минусы двух связок для php7 - nginx/apache/mod_php vs nginx/php-fpm

Профи, подскажите, какие преимущества и недостатки у бекенд-серверов для php7, apache/mod_php vs php_fpm

177
Вставить null значение в базе данных MySQL через PHP

Вставить null значение в базе данных MySQL через PHP

В базе данных есть столбец time с типом time, никак не могу записать в него NULL если ничего не приходит

200
Можно ли с помощью PHP вызвать Javascript код?

Можно ли с помощью PHP вызвать Javascript код?

Сервис WalletOne после успешной оплаты делает POST запрос к указанному url и отправляет данные об оплатеМне нужно, чтобы после оплаты я смог вызвать...

208