如何将数据从Laravel Blade文件传递到Vue实例?

时间:2017-04-26 19:28:25

标签: php laravel vue.js vuejs2

我有一个* .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>

1 个答案:

答案 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请求调用它。