我有一个* .blade.php文件,它向API发送GET请求。这将返回一个* .xml文件,我可以将其解析为要在* .blade.php文件中使用的数据。如何将此信息传递到我的应用程序中的* .vue文件?我已经尝试将数据作为道具传递,但它似乎无法正常工作。是否有最佳实践来处理此类任务?
home.blade.php
<?php
@extends('layouts.app')
// <PHP API REQUEST HERE>
$example = data stored from XML file;
?>
@section('content')
<app :example ="example"></app>
@endsection
app.vue
<template>
<div>
{{ example }}
</div>
</template>
<script>
export default {
data() {
return {
}
},
props: ['example']
}
<script>
答案 0 :(得分:3)
您的方法存在问题。
首先,不要在您的刀片文件中发出HTTP请求,在控制器中执行此操作,然后将数据作为变量传递到刀片view('index', ['data' => 'array'])
。
第二点:如果您想将简单数据从PHP传递到Javascript,请在脚本中使用echo
,例如:
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
最后,对于您的特定情况,您应该在Laravel中有一个API端点发出HTTP请求,并使用Vue JS的AJAX请求调用它。