2017-07-22 12 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'); 
    } 
} 

しかし、私はリダイレクトを見ることはできません。 vaultコンポーネントからlaravelの別のルートにリダイレクトするにはどうすればよいですか?

vue-routerが必要ですか、他の方法に従うことができますか?

答えて

1

あなたはそれが動作window.location.href = '/search?q=' + this.searchData;

+0

axios.get('/search?q=' + this.searchData);を置き換えることができます(Y) VUEを使用して同じ結果を達成することが可能である?? –

+0

もちろん、vue-routerを使って同じ結果を得ることができます。 '' '' '' 'searchUrl = '/ search?q =' + this.searchData; this。$ router.push({path:searchUrl});' '' – Kermit

関連する問題