Я пытаюсь получить хорошее представление о VueJS, и я использую его с Laravel 5.7 для личного проекта, но я не могу точно понять, как выполнить, возможно, простое задание «как» кнопка \ значок.
Итак, вот ситуация, у меня есть страница, отображающая различные сообщения из моей базы данных, и в нижней части каждого сообщения я хочу кнопку "Like Toogle", которую я сделал со значком, за которым следует число лайков на этот пост; Сначала кнопка будет содержать данные, извлеченные из соответствующей таблицы базы данных, но при нажатии она увеличит отображаемое число на единицу и вставит новый аналог в базу данных.
Я сделал значок «Мне нравится» в качестве компонента:
<section class="bottomInfo">
<p>
<likes now="{{ $article->likes }}"></likes>
<span class="spacer"></span>
<span class="entypo-chat">
{{ $article->comments }}
</p>
</section> <!-- end .bottomInfo -->
Как вы можете видеть, есть <likes>
, в который я добавил опору now
, благодаря тому, что я до сих пор понимаю о компонентах, таким образом, я могу вставить данные из моей базы данных в качестве начального значения (now
содержит значение строки db), проблема в том, что я не знаю, где \ как сохранить это значение в моем приложении, в котором я также собираюсь использовать axios для увеличения лайков.
Вот компонент:
<template>
<span class="entypo-heart"> {{ now }}</span>
</template>
<script>
export default {
props: ['now'],
data() {
return {
like: this.now
}
},
mounted() {
console.log('Component mounted.');
}
}
</script>
То, что я пытался сделать (и я не знаю, правильно ли это), это передать значение now
функции data
внутри свойства с именем like
, поэтому, если я правильно понял, это переменная like
теперь является частью моих свойств в моем главном экземпляре Vue, который является
const app = new Vue({
el: '#main',
mounted () {
console.log("The value of 'like' property is " + this.like)
},
methods: {
toggleLike: function() {
} //end toggleLike
}
});
Функция mounted
должна печатать это значение свойства, но вместо этого я получаю
The value of 'like' property is undefined
Почему? Это как это работает? Как я могу сделать так, чтобы я мог получить это значение, а также обновить его, если нажать, чтобы затем сделать запрос к моему API? (Я имею в виду, я не спрашиваю, как выполнять эти отдельные задачи, просто где \ как реализовать это в этой ситуации). Я правильно понимаю компонентную логику?