Laravel + Vue: кнопка и модальный компонент не отображаются в лезвии

Я работаю над частью CRUD приложения Laravel.

Предполагается, что при нажатии кнопки удаления записи появляется модальное окно с просьбой подтвердить удаление соответствующей записи.

Я попытался сделать это, определив 2 отдельных компонента - кнопку удаления и модальное окно. Я поместил кнопку в отвал php.

Он просто не появился, но элемент есть в html-документе страницы, и ошибки нет.

Это мой код внешнего интерфейса.

Как заставить это появиться?

Спасибо!

Blade.php

<div id = "app">
    <btn-delete project = "{{ $project }}"></btn-delete>
</div>

app.js

require('./bootstrap');

window.Vue = require('vue');

Vue.component('btn-delete', require('./components/BtnDelete.vue'));
Vue.component('modal-delete', require('./components/ModalDelete.vue'));

const app = new Vue({
    el: '#app'
});

BtnDelete.vue

<template>
    <div>
      <button class = "btn btn-danger" @click = "showDeleteModal">delete</button>
      <modal-delete v-if = "modal" @delete = "deleteItem" 
                                 @close = "closeDeleteModal"></modal-delete>
    </div>
</template>
<script>
  export default {
    data() {
      return {
         modal:false
      }
     },
    props: ['project'],
    methods: {
    showDeleteModal(){
        this.modal = true
     },
    closeDeleteModal(){
        this.modal = false
     },
     deleteItem() {
        alert("project : " + this.project);
     }
    }
  }
</script>

ModalDelete.vue

<template>
  <div class = "modal fade" tabindex = "-1" role = "dialog" 
    aria-labelledby = "myLargeModalLabel">
    <div class = "modal-dialog modal-lg" role = "document">
    <div class = "modal-header">
      <button type = "button" class = "close" data-dismiss = "modal">&times;</button>
      <h4 class = "modal-title">Modal Header</h4>
    </div>
    <div class = "modal-body">
      <p>Some text in the modal.</p>
    </div>
    <div class = "modal-footer">
      <button type = "button" class = "btn btn-default" 
           @click.prevent = "$emit('close')">Close</button>
      <button type = "button" class = "btn btn-primary" 
           @click.prevent = "$emit('delete')">Save</button>
    </div>
  </div>
</div>

есть ошибки?

Boussadjra Brahim 08.11.2018 02:19

Ошибки нет.

anndexi99 08.11.2018 02:21

я думаю, тебе стоит сделать это <btn-delete :project = "@{{ $project }}"></btn-delete>

Boussadjra Brahim 08.11.2018 02:23

Спасибо! но стало еще хуже. Вся страница стала пустой.

anndexi99 08.11.2018 02:34

у вас были ошибки?

Boussadjra Brahim 08.11.2018 02:35

По-прежнему нет ошибки.

anndexi99 08.11.2018 02:36

Вы запускаете npm run watch в окне терминала? Есть ли там ошибки?

Peter 08.11.2018 02:36

Я этого не сделал, но я просто попробовал. По-прежнему нет ошибки.

anndexi99 08.11.2018 02:39

перезапустите php artisan serve и выполните npm run watch, как сказал @Peter

Boussadjra Brahim 08.11.2018 02:40

все еще не работал

anndexi99 08.11.2018 02:44

что вы имеете в виду под элемент находится в источнике страницы, не могли бы вы предоставить скриншот?

Boussadjra Brahim 08.11.2018 02:46

Извините, я должен быть HTML-документом. Элемент btn-delete есть. Я использую браузер Chrome и увидел в нем элемент btn-delete. У меня недостаточно прав для того, чтобы загрузить сюда картинку, поэтому ее сложно вам показать.

anndexi99 08.11.2018 02:49

когда вы просматриваете страницу, вы видите такие элементы, как <btn-delete project = "{{ $project }}"></btn-delete>?

Boussadjra Brahim 08.11.2018 02:51

да, он есть в html-документе, но не отображается. Когда я попробовал: project = "@ {{$ project}}, все элементы исчезли в HTML.

anndexi99 08.11.2018 02:51

вы не должны этого видеть, они не скомпилированы должным образом, ваши компоненты не зарегистрированы

Boussadjra Brahim 08.11.2018 02:53

Позвольте нам продолжить обсуждение в чате.

Boussadjra Brahim 08.11.2018 02:53
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
16
1 285
0

Другие вопросы по теме