Javascript + Firebase блог addpost функция firstId возвращает неопределенный - PullRequest
0 голосов
/ 22 ноября 2018

Я создаю блог с Js и Firebase.Когда я добавляю записи в базу данных Firebase, первый идентификатор Id undefined, а затем начинает увеличиваться с myid-0.Вот мой код:

<button onclick="writeUserData(document.getElementById('blog-title').value, document.getElementById('blog-content').value, uniqueId(uniqueId))">Add</button>

...........

function uniqueId(uniqueId) {
    var counter = 0;
    window.uniqueId = function(){
        return ('myid-' + counter++);
    }
}

function writeUserData(title, content, postID) {
    firebase.database().ref('posts/' + postID).set({
    title: title,
    content: content
    });
}

Почему он не начинает добавлять сообщение из myid-0?

1 Ответ

0 голосов
/ 22 ноября 2018

Это потому, что ваша функция uniqueId() неверна.Вы можете увидеть это, имея кнопку на своей странице со следующим кодом:

<input
  id="clickMe"
  type="button"
  value="clickme"
  onclick="console.log(uniqueId());"
/>

Так что если вы измените свою функцию на что-то вроде следующего, она будет работать:

var counter = 0;
function uniqueId() {
  return 'myid-' + counter++;
}

function writeUserData(title, content, postID) {
    firebase.database().ref('posts/' + postID).set({
    title: title,
    content: content
    });
}

......

<button onclick="writeUserData(document.getElementById('blog-title').value, document.getElementById('blog-content').value, uniqueId())">Add</button>

Обратите внимание, что вы можете разрешить Firebase генерировать UniqueIds, см. https://firebase.google.com/docs/reference/js/firebase.database.Reference#push

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...