入力フォームで入力したい値をそのままクエリーストリングに付与したいと考えております。
index.vue
<form v-on:submit.prevent="search"> <input type="search" v-model="keywords" placeholder="キーワードを入力"> <!--<button type="buttom" @click="search">submit</button>--> </form>
上記のフォームに入力したら下記のdata()の中のkeywordsに入ることは確認していますが、
最後の方にある、下記のコードでクエリストリングに入れて渡そうとしていますが、undefinedになってしましいます。
こちらクエリにkeywordsを入れるやりかたを教えていただけますでしょうか。
this.$router.push({ "path": this.category + 'search', "params": {"category": this.category}, "query": {"keywords": this.keywords} })
<script> export default { data() { return { "keywords": '', "category": '' } }, "methods": { "search": function () { // キーワードがなければエラー if (this.keywords == '') { alert('error') return } this.$store.commit('setKeywords', { "keywords": this.keywords }) this.keywords = this.$store.getters.keywords if (this.$route.params['category'] != null) { this.category = this.$route.params['category'] + '/' } this.$router.push({ "path": this.category + 'search', "params": {"category": this.category}, "query": {"keywords": this.keywords} }) } }, } </script>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。