AlexBelkevich
@AlexBelkevich
Нет нерешаемых задач. Есть деревянные клиенты

Как получить id объекта из firebase?

Всем привет. Вопрос от новичка во Vue. Решил тут к своему тестовому проекту firebase прикрутить. Хочу сделать импровизированную ленту новостей.
На новость нажимаем - открываем компонент новости с нужным ID (посредством route).
И вот вопрос, как сгенерировать грамотно этот ID новости.
Сейчас у меня все работает так (использую vuex)
let db = fb.database()
let refBlogs = db.ref('blogs')

class BlogElement {
  constructor (name, description, id = null) {
    this.name = name
    this.description = description
    this.id = id
  }
}

mutations: {
    createBlogElement (state, payload) {
      state.blog.push(payload)
      const blogElement = new BlogElement(payload.name, payload.description)
      refBlogs.push(blogElement)
    }
  }


В конструкторе у меня есть ID. Вот каким образом его лучше заполнять? Где-то видел финт с установкой key из firebase в этот id, но найти не могу этот момент и вообще правильно ли это...

P.S. Насколько я понимаю, обращение к получению и созданию данных лучше делать через actions? Через async/awayt?
  • Вопрос задан
  • 1251 просмотр
Решения вопроса 1
@hopeful_romantic
refBlogs.push(blogElement)
  .then((data) => {
     let key = data.key
     refBlogs(blogElement).update({
       'id': key
     })
  })
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mQm
@mQm
https://medium.com/@gearmobile
axios.get(awesome_url)
    .then(res => {
        const news = Object.keys(res.data).map(el => {
            return {
                ...res.data[el],
                id: el
            }
        })
        this.news = news
    })
    .catch(e => console.log(e))


Как-то так?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы