Я работаю над частью 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">×</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>
Ошибки нет.
я думаю, тебе стоит сделать это <btn-delete :project = "@{{ $project }}"></btn-delete>
Спасибо! но стало еще хуже. Вся страница стала пустой.
у вас были ошибки?
По-прежнему нет ошибки.
Вы запускаете npm run watch в окне терминала? Есть ли там ошибки?
Я этого не сделал, но я просто попробовал. По-прежнему нет ошибки.
перезапустите php artisan serve и выполните npm run watch, как сказал @Peter
все еще не работал
что вы имеете в виду под элемент находится в источнике страницы, не могли бы вы предоставить скриншот?
Извините, я должен быть HTML-документом. Элемент btn-delete есть. Я использую браузер Chrome и увидел в нем элемент btn-delete. У меня недостаточно прав для того, чтобы загрузить сюда картинку, поэтому ее сложно вам показать.
когда вы просматриваете страницу, вы видите такие элементы, как <btn-delete project = "{{ $project }}"></btn-delete>?
да, он есть в html-документе, но не отображается. Когда я попробовал: project = "@ {{$ project}}, все элементы исчезли в HTML.
вы не должны этого видеть, они не скомпилированы должным образом, ваши компоненты не зарегистрированы
Позвольте нам продолжить обсуждение в чате.






есть ошибки?