2017-01-31 82 views
0

我有2個部件爲什麼分頁鏈接在點擊時返回json? (Vue.js 2)

部件1中,名稱是SearchResultVue.vue部件

該組件是這樣的:

<template> 
    ... 
     <span class="pull-right" v-show="totalall>8"> 
      <pagination :data="list" :total="totalPage" :nextPage="nextPage" :prevPage="prevPage"></pagination> 
     </span> 
    ... 
</template> 

該組件調用組件2。名字是Pagination.vue組件

分頁組件是這樣的:

<template> 
    <nav aria-label="Page navigation"> 
     <ul class="pagination"> 
      <li> 
       <a :href="prevPage" aria-label="Previous"> 
        <span aria-hidden="true">&laquo;</span> 
       </a> 
      </li> 
      <li v-for="i in total"> 
       <a :href="baseUrl+'/search-result?page='+i">{{i}}</a> 
      </li> 
      <li> 
       <a :href="nextPage" aria-label="Next"> 
        <span aria-hidden="true">&raquo;</span> 
       </a> 
      </li> 
     </ul> 
    </nav> 
</template> 
<script> 
    export default{ 
     props:['total', 'data', 'nextPage', 'prevPage'], 
     computed:{ 
      baseUrl(){ 
       return window.Laravel.baseUrl 
      } 
     } 
    } 
</script> 

當我點擊這樣的瀏覽器顯示JSON數據頁1或2頁或下頁等:

{ 「總」:20, 「per_page」:8中, 「CURRENT_PAGE」:2, 「last_page」:3 「next_page_url」: 「http://chelseashop.dev/search-result?page=3」, 「prev_page_url」: 「http://chelseashop.dev/search-result?page=1」, 「from」:9,「to」:16,「data」:[{「id」:20,「name」:「Bunga Hadiah」,「photo」:「bunga7.jpg」,「price」:1275523, 「stock」:68,「total_sold」:25,「total_view」:0,「weight」:90,「store_id」:9,「shop_name」:「Sari Florist」,「formatted_address」:「Jakarta」}, 「id」:3,「name」:「Papan Bunga Wedding」,「photo」:「bunga5.jpg」,「price」:1988886,「stock」:77,「total_sold」:96,「total_view」:0 , 「權重」 40 「STORE_ID」:1, 「shop_name」:「蓬a Airi「,」formatted_address「:」Kemang「}]}

爲什麼它不以html的形式顯示?

+0

請問這個API:'http://chelseashop.dev/search-result?page = 4'是否返回這個JSON? – Saurabh

+0

@沙拉布,是的。它返回json –

+0

比,這就是它會呈現的,對嗎?你的創建分頁的邏輯是什麼? – Saurabh

回答

1

<a>上使用:href不使用Vue.js反應功能。

也許您應該閱讀(或再閱讀)Vue.js guide introduction,特別是Handling User Input部分。

您必須在組件中使用HTTP客戶端(如Axiosvue-resource),該組件將提交到您的Vuex商店。

然後,您可以通過v-on:click="fetchData"調用此方法。只要您的模板使用了您的反應性數據(例如通過v-for列出您的搜索結果),您的HTML將由Vue.js更新。