У меня есть следующий компонент, который находится внутри модального тега.При нажатии открывается модальное содержимое, извлеченное из указанного URL.
<modal>
<laravel-view :url="'{{ '/post/view/' . $comment->source_id }}'"></laravel-view>
</modal>
Здесь определено:
Vue.component('laravel-view',{
template: '#laravel-view.vue-template',
data(){
return {
viewHtml: null
}
},
props: [
'url'
],
mounted() {
this.loadPost(this.url)
},
methods: {
loadPost(viewUrl){
var self = this;
$.get( viewUrl, function( htmlString ) {
var compiled = Vue.compile('<div>' + htmlString + '</div>');
self.viewHtml = htmlString;
});
}
}
});
И шаблон из файла блейда:
<script type="text/x-template" id="laravel-view" class="vue-template">
<div class="view-wrapper" v-html=viewHtml>
</div>
</script>
Когда вы щелкаете компонент вида laravel-view, открывается модальное окно (которое является другим компонентом), и отображаемое содержимое будет тем, которое будет получено по ссылке.Это представление, возвращаемое контроллером с информацией, полученной сверху:
<div>
<div class="post" style="text-align: center;">
<img src="{{ $post->image }}" style="margin: auto;" />
<p>
<h1 >{{ $post->title }}</h1>
{{ $post->caption }}
</p>
</div>
<div class="post-comments">
<div class="post-content">
@foreach( $post->comments as $comment )
<div class="comment activity-box-w" id="{{$comment->post_id}}">
<div class="activity-box" style="align-items: normal">
<div style="margin-top: 5px">
<div class="activity-avatar" style="background-image: url({{ asset($comment->image) }}); float: left;">
</div>
</div>
<div class="activity-info">
<div class="activity-role">
{{ '@' . $comment->username }}
</div>
<div class="ellipsis">
<div>
<p class="activity-title">{{ $comment->comment }}</p>
</div>
</div>
</div>
<div class="time">
{{ \Carbon\Carbon::parse($comment->created_at)->toDateTimeString() }}
</div>
</div>
</div>
@endforeach
</div>
<div class="post-pub" style="width: 100%;padding-top: 10px; margin-left: 25%;">
<form style="width: 100%:">
<textarea rows="1"></textarea>
<button type="button" class="btn-primary btn-s" v-on:click="commentPost">Send</button>
</form>
</div>
</div>
</div>
Я определил метод для обоих файлов .js (не то, чтобы он мне нужен для обоих; только чтобы знать, где вмир это срабатывает, при условии что это происходит) и событие никогда не срабатывает.Я убедился, что кнопка работает, изменив ее тип на «отправить» и щелкнув по ней (что перезагрузило страницу).Тем не менее проблема сохраняется.Как я могу сделать эту работу?