Laravel和Vue JS路线

时间:2017-07-12 07:20:50

标签: php laravel vue.js vue-component vue-router

如何在Vue组件中使用我的laravel web.php路由('test.create')? 这是web.php:

Route::resource('/test', 'TestController');

但是我想通过route('test.create')访问url并将其添加到我的Vue组件中的<form>。 这是Vue组件:

<template>
  <div id="app">
    <form action="{{route('test.create')}}" method="POST">
      <div class="form-group">
        <label for="name">Name</label>
        <input type="text" id="name" class="form-control"> 
      </div>
      <div class="form-group">
        <label for="location">Location</label>
        <input type="text" id="location" class="form-control"> 
      </div>
      <div class="form-group">
        <label for="age">Age</label>
        <input type="number" id="age" class="form-control"> 
      </div>
      <div class="form-group">
        <input type="submit" class="btn btn-default"> 
      </div>
    </form>
  </div>
</template>

<script>
export default {
  name: 'create',
  data: function(){
    return {
        msg: '',
    }
  },
}
</script>

2 个答案:

答案 0 :(得分:0)

您无法访问route()它只是Laravel helper function,只能在

中使用
  

/资源/视图/

答案 1 :(得分:0)

route('test.create')是一个laravel函数,它不会从vue组件/ javascript中工作。您需要通过DOM(在模板/刀片php文件中)将返回的值传递给vue组件。

例如:

在你的view.blade.php中:

<your-component create-url="{{route('test.create')}}"></your-component>
在Component.vue中

props: ['createUrl']

然后你可以使用

<form action="{{createUrl}}" method="POST">