2017-07-22 34 views
1

我有一個名爲searchbox的Vue組件,我希望用戶重定向到顯示結果後,他們鍵入名稱並單擊搜索按鈕。我正在使用axios來發出http請求。這裏是我的模板:從vue組件重定向到laravel路由

<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> 

這裏是我的搜索控制器:

class SearchController extends Controller { 

    public function index(Request $request) { 
     return view('search.index'); 
    } 
} 

不過,我看不到重定向。如何從vue組件重定向到laravel中的另一個路由?

vue-router必要或我們可以按照任何其他方法?

回答

1

你可以用window.location.href = '/search?q=' + this.searchData;

+0

它的工作原理(Y) 有可能實現使用VUE相同的結果替代axios.get('/search?q=' + this.searchData);? –

+0

當然,您可以使用vue-router來獲得相同的結果。 var searchUrl ='/ search?q ='+ this.searchData; this。$ router.push({path:searchUrl});''' – Kermit