[英]How to pass a variable from laravel 5.4 to vuejs
Is it possible to pass a variable from controller to vuejs? 是否可以将变量从控制器传递给vuejs? I have read some answers but nothing seems to work for me.
我已经阅读了一些答案,但似乎对我没有任何帮助。 I want to pass the variable $url to vue.
我想将变量$ url传递给vue。 I have tried some thing like this
我已经尝试过这样的事情
var url = {!! $url !!};
this gives me syntax error: unexpected token in app.js 这给了我语法错误:app.js中出现意外令牌
example url http://eventregistry.org/json/suggestConcepts?prefix=sam&lang=eng&callback=JSON_CALLBACK 示例网址http://eventregistry.org/json/suggestConcepts?prefix=sam&lang=eng&callback=JSON_CALLBACK
Controller 控制者
class SearchCompanyName extends Controller
{
public function getcompanyname($name)
{
return "http://eventregistry.org/json/suggestConcepts?prefix=" . $name . "&lang=eng&callback=JSON_CALLBACK";
}
public function index()
{
$url = $this->getcompanyname(Input::get("company_name_by_user"));
return view('searchcompany', ['url' => $url]);
}
}
vue app.js Vue app.js
Vue.component('search', require('./components/Searchnames.vue'));
const search = new Vue({
el: '#search',
data: {
},
method: {
getMessages: function(){
console.log('I am here')
}()
}
});
blade template 刀片模板
@section('content')
<div class="container">
{!! $url !!}
<search></search>
</div>
@endsection
If you want to declare your javascript variable in a script tag within a blade file, you need to put the variable in quotes like so 如果要在刀片文件中的脚本标签中声明javascript变量,则需要将变量放在引号中,如下所示
<script>
var url = '{{ $url }}';
</script>
You can use this package : https://github.com/laracasts/PHP-Vars-To-Js-Transformer 您可以使用此包: https : //github.com/laracasts/PHP-Vars-To-Js-Transformer
public function index()
{
JavaScript::put([
'foo' => 'bar',
'user' => User::first(),
'age' => 29
]);
return View::make('hello');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.