dpruwm6206
2017-04-26 19:28
浏览 603
已采纳

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

I have a *.blade.php file which sends a GET request to an API. This returns a *.xml file which I am able to parse into the data to be used within the *.blade.php file. How do I go about passing this information to a *.vue file within my application? I've tried passing the data as a prop, but it doesn't seem to work correctly. Is there a best practice to handle this type of task?

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>

图片转代码服务由CSDN问答提供 功能建议

我有一个* .blade.php文件,它向API发送GET请求。 这将返回一个* .xml文件,我可以将其解析为要在* .blade.php文件中使用的数据。 如何将此信息传递到我的应用程序中的* .vue文件? 我已经尝试将数据作为道具传递,但它似乎无法正常工作。 是否有最佳实践来处理此类任务?

home.blade.php

 &lt  ;?php 
 @ extends('layouts.app')
 
 //&lt; PHP API REQUEST HERE&gt; 
 
 $ example =从XML文件存储的数据; 
?&gt; 
 
 @  section('content')
 
&lt; app:example =“example”&gt;&lt; / app&gt; 
 
 @ endsection 
   
 
 

app.vue

 &lt; template&gt; 
&lt; div&gt; 
 {{example}} 
&lt; / div&gt; 
&lt; / 模板&GT; 
 
&LT;脚本&GT;  
export default {
 data(){
 return {
 
} 
},
 
 props:['example'] 
} 
&lt; script&gt; 
   
 
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dsmvovm27249 2017-04-26 19:49
    已采纳

    There's a problem with your approach.

    First of all, don't make HTTP requests in your blade files, do it in the controller, then pass data as variables to blade view('index', ['data' => 'array']).

    Second point: if you want to pass simple data from PHP to Javascript, use echo in a script, example:

    <script>
        window.Laravel = <?php echo json_encode([
            'csrfToken' => csrf_token(),
        ]); ?>
    </script>
    

    Finally, for your particular case, you should have an API endpoint in Laravel that makes the HTTP request, and call it with an AJAX request from Vue JS.

    打赏 评论

相关推荐 更多相似问题