Laravel 如何在编译的视图文件中执行javascript(使用view::render方法)
是否可以从编译视图执行javascript代码? 我需要在index.blade文件中编写一些js代码来处理一些事件。 我试了三种方法,但都不管用 控制器Laravel 如何在编译的视图文件中执行javascript(使用view::render方法),laravel,laravel-5,laravel-6,laravel-vue,Laravel,Laravel 5,Laravel 6,Laravel Vue,是否可以从编译视图执行javascript代码? 我需要在index.blade文件中编写一些js代码来处理一些事件。 我试了三种方法,但都不管用 控制器 $advertisements = Advertisement::get(); $view = View::make('test::admin/index',['advertisements'=> $advertisements]); $html = $view->render(); return $html; i
$advertisements = Advertisement::get();
$view = View::make('test::admin/index',['advertisements'=> $advertisements]);
$html = $view->render();
return $html;
index.blade.php
@push('stackscript') // NOT WORKING
<script>
alert();
</script>
@endpush
<script> // NOT WORKING
alert();
</script>
@section('footer_script') // NOT WORKING
<script>
alert();
</script>
@endsection
<div class="row">
@foreach ($advertisements as $advertisement)
<div class="col-md-9">
<div>{{ $advertisement->title }}</div>
<div>{{ $advertisement->body }}</div>
<div><img src="{{asset($advertisement->image)}}"></div>
</div>
<div class="col-md-3">
<form id="plugin-advertisement" method="POST" action="{{route('plugin.delete-advertisement', $advertisement->id)}}">
@csrf
@method("DELETE")
<button class="btn bnt-sm btn-outline-danger">delete</button>
</form>
</div>
@endforeach
</div>
@push('stackscript')//不工作
警惕();
@端推
//不起作用
警惕();
@节('footer\u script')//不工作
警惕();
@端部
@foreach($广告作为$广告)
{{$advision->title}
{{$advision->body}
图像)}}“>
@csrf
@方法(“删除”)
删除
@endforeach
Vue组件
window.axios.get(this.url)
.then((res) => {
this.pluginPanel = res.data;
});
template:
<div v-if="!loading" v-html="div(pluginPanel)" />
window.axios.get(this.url)
。然后((res)=>{
this.pluginPanel=res.data;
});
模板:
您必须在加载的Vue组件中使用JavaScript,而不是在刀片文件中。请参阅下面的代码:
正如您所见,此Vue组件中有一个脚本标记。您可以在此处编写JavaScript代码,并在将此Vue组件呈现到刀片文件时使用它
<template>
<div class="flex-center position-ref full-height">
<div class="content">
<div class="title m-b-md">
Welcome to Vue.js on Laravel
</div>
<div class="links">
<a href="https://laravel.com/docs">View Laravel Docs</a>
<a href="https://vuejs.org/v2/guide/">View Vue Docs</a>
<a href="https://laracasts.com">Watch Videos</a>
</div>
</div>
</div>
</template>
<script>
export default {}
</script>
<style scoped>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Raleway', sans-serif;
font-weight: 100;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 12px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
在index.blade.php中
<body>
<div id="app">
<welcome></welcome>
</div>
<script type="text/javascript" src="js/app.js"></script>
</body>
<body>
<div id="app">
<welcome></welcome>
</div>
<script type="text/javascript" src="js/app.js"></script>
</body>