请老师帮忙看看list组件的问题

来源:11-2 页面设计(2)

慕村60529

2018-12-31

<template>
  <div class="m-products-list">
    <dl>
      <dd
        v-for="item in nav"
        :key="item.name"
        :class="[item.name,item.acitve?'s-nav-active':'']"
        @click="navSelect"
      >{{ item.txt }}</dd>
    </dl>
    <ul>
      <Item
        v-for="(item,idx) in list"
        :key="idx"
        :meta="item"/>
    </ul>
  </div>
</template>

<script>
import Item from './product.vue'
export default {
  components: {
    Item
  },
  props: {
    list: {
      type:Array,
      default(){
        return []
      }
    }
  },
  data() {
    return {
      nav: [
        {
          name: 's-default',
          txt: '智能排序',
          acitve: true
        }, {
          name: 's-price',
          txt: '价格最低',
          active: false
        }, {
          name: 's-visit',
          txt: '人气最高',
          active: false
        }, {
          name: 's-comment',
          txt: '评价最高',
          active: false
        }
      ]
    }
  },
  async asyncData({app}) {
    let { data } = await app.$axios.get('searchList')
    return { items: data.list }
  },
  methods: {
    navSelect: function () {
      console.log('select')
    }
  }
}
</script>

请问老师这个组件asyncData部分的代码问题,第一:await app.$axios.get(‘searchList’)请求的这个searchList接口我没有看到在服务端接口代码里哪里定义的?

第二:return { items: data.list },返回了items这个数据和页面做融合,但是我在模板里没有找到items融合的地方?

请老师指点,谢谢。

写回答

1回答

快乐动起来呀

2019-01-01

  1. 所有的接口都是在server目录中interface中的router接口

  2. 你这个拼写错了吧,应该是 list:data.list吧,你模板中用的是list

0
1
慕村60529
问题2是您的源码。
2019-01-01
共1条回复

Vue全家桶+SSR+Koa2全栈开发美团网

整合大前端8项技术,全面晋级全栈工程师,毕设/面试作品

2445 学习 · 1638 问题

查看课程