vue数据渲染的问题

clipboard.png

我这页面上的4个按钮点进去都是下面那个页面,只是数据不同,那我要如何在点击的时候加载不同的数据到这个页面组件上呢?
这个项目是用vue+vue-router做的,数据使用VueResource获取的

阅读 5.6k
3 个回答

最后是通过这种方法解决的,不过不知道思路对不对,有错请指出。
当点击collection()这个方法的时候,跳转并带上标识,
collection() {

this.$router.push({path: 'notSee', query: { id: '1' }});

},
然后在组件中通过判断query.id来加载不同的数据进去
getDataList() {

   const queryId = this.$route.query.id;
   this.$http.get('api/all').then((response) => {
      response = response.data.data;
      if (queryId === '1') {
        this.publicData = response.collection[0];
      } else if (queryId === '2') {
        this.publicData = response.hot[0];
      }
    });
  }

router的path上添加参数 标示相应的数据类型,
然后在router的beforeRouteEnter或者actived中进行类型判断 取数 填数

都用这个页面,就表示是一个组件了。可以利用子组件props传参吧。根据点击不同的按钮,给props的参数赋值对应的数据。如果没有理解错的话,你可以看下https://cn.vuejs.org/v2/guide...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题