我有一个名为 searchbox 的 Vue 组件,我希望用户在键入名称并单击搜索按钮后被重定向以显示结果。我正在使用 axios 发出 http 请求。这是我的模板:
<form @submit.prevent="searchResult">
<div class="field has-addons searchbox">
<div class="control">
<input class="input" type="text" id="search" name="q" placeholder="Search a video..." @keyup.enter="searchResult" v-model="searchData">
</div>
<div class="control">
<button class="button is-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</form>
这是我在 Vue 文件中的脚本:
<script>
export default {
data() {
return {
searchData: null,
};
},
methods: {
searchResult() {
axios.get('/search?q=' + this.searchData);
}
}
}
</script>
这是我的搜索 Controller :
class SearchController extends Controller {
public function index(Request $request) {
return view('search.index');
}
}
但是,我看不到重定向。我如何从 vue 组件重定向到 laravel 中的另一个路由??
vue-router 是必需的还是我们可以采用任何其他方法??
最佳答案
您可以将 axios.get('/search?q=' + this.searchData);
替换为 window.location.href = '/search?q=' + this。搜索数据;
关于laravel-5 - 从 vue 组件重定向到 laravel 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45250665/