прокидываются?
на проекте ларавель
вот структура приложения:
1. из контроллера возвращаю
view ('tickets', ['post_date' => '01.01.2000'])
2. tickets.blade.php имеет такой вид (дополняет layouts). В него переменная прокидывается (видно в выводе <h1>) и тут всё хорошо.
@extends('layouts.app')
<h1>Проверка даты: {{ $post_date }}</h1>
@section('content')
<tickets-list-component>
:post_date="'{{ $post_date }}'"
</tickets-list-component>
@endsection
3. TicketsListComponent.vue уже говорит, что ничего не знает о переменной post_date
<template>
<h2>{{ post_date }}</h2>
</template>
<script>
export default {
name: "TicketsListComponent",
props: {
post_date: {
default: '_',
type: String
}
},
mounted() {
console.log('post_date = ', this.post_date)
}
}
</script>
<tickets-list-component> :post_date="'{{ $post_date }}'" </tickets-list-component> wtf? :)
ты просто строку '{{ $post_date }}' передаешь же
даже если так, то все равно даже строка не передается
Уберите двоеточие
потому что у тебя нет слота в TicketsListComponent. По этому никакой контект внутрь не передашь, кроме пропсов
ничего не меняется
пропс в тег поставь <tickets-list-component :post_date="'{{ $post_date }}'"> </tickets-list-component>
Ну и переместите место >
ну не совсем. Я так понимаю, что туда попадает строка, которая в переменной $post_date, так как там {{}} - это конструкция blade
большое спасибо. невнимательность меня подводит 😅
так ты обернул же еще дополнительно в ‘’, приведя это просто к строке?
чтобы передать пропс, нужна конструкция :prop="" Если там не будет ' ... ', то содержимое "... " будет считаться именем переменной. Поэтому мы получили конструкцию :prop=" '' " Ну и чтобы заполнить ее, нам нужна строка, которая содержится в переменной $post_date, поэтому там {{ $post_date }}
если нужно передать строку, то двоеточие не нужно
хм.. действительно ))
Обсуждают сегодня