Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как переместить background в другой блок?

    Источник изображения здесь роли не играет, потому что вы работаете с data url. Мне кажется, проблема во втором фрагменте, потому что там создаётся новый элемент без фона. Используя ваш подход, должно было получиться что-то такое:

    const url = $('#imagePreview').css('background-image')
    
    const newMessage = $(`
      <div class="user_two_message col-xs-12 col-sm-12">
        <div class="sender-text-image">
          <div id="imagePreview" style="background-image: ${url}"></div>
        </div>
      </div>
    `)
    
    $('.message-screen').append(newMessage)


    Обратите внимание, что как мой, так и ваш код приведут к дублированию идентификатора imagePreview и непредсказуемому поведению при втором и дальнейших запусках. Пожалуйста, примите меры :)
    Ответ написан
    Комментировать
  • Как правильно получить асинхронные данные?

    Метод dataService.fetchAds должен возвращать Promise (где-то return забыли), а в Users.init нужно получать его результат. Как-то так:

    class DataService {
      fetchAds = () => {
        return fb.database().ref('users') /* остальной код */
      }
    }
    
    class Users {
      init() {
        dataService.fetchAds().then(data => {
          console.log('data', data);
        });
      }
    }
    Ответ написан
  • Как применять Vue, React, ... без изменения html-кода?

    Может быть, речь идёт про renderless компоненты Vue? Они могут включать в себя какую-то логику, но элементы DOM создавать не будут:

    export default {
      // Здесь data, computed, хуки и т.д.
      render () {
        // Отрисовывает дочерние элементы
        return this.$scopedSlots.default({
          // Данные, передаваемые через механизм scoped slots
          property: 'value'
        })
      }
    }


    Для создания реактивных объектов есть Vue.observable().
    Ответ написан
    Комментировать