在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vueJs需要在同一個(gè)頁(yè)面做操作加載,通過(guò)v-show綁定問(wèn)題。

vueJs需要在同一個(gè)頁(yè)面做操作加載,通過(guò)v-show綁定問(wèn)題。

現(xiàn)在需要在同一個(gè)頁(yè)面做操作加載,考慮到router沒(méi)什么必要,通過(guò)v-show來(lái)綁定。
左側(cè)是另一個(gè)組件leftbar.vue。點(diǎn)擊之后通過(guò)路由進(jìn)入另一個(gè)頁(yè)面。點(diǎn)擊左側(cè)欄沒(méi)法刷新。

右側(cè)欄code

<template>
  <div class="rightBar">
    <p class="rightBar-nav">
      <a href="#">幫助中心</a>
      <span>></span>
      <a href="#">{{ this.$route.query.name }}</a>
    </p>
    <div class="newsList-con" v-for="item in news" v-show="item.id == cate_id & !vshow" :key="item.id">
      <dl class="newsList" v-for="item in item.dataList" :key="item.id">
        <dt><a href='javascript:;' @click="showNextPage">{{ item.title }}</a></dt>
        <dd>{{ item.txt }}</dd>
      </dl>
    </div>
    <div class="newsList-child" v-show="vshow">
      sss
    </div>
  </div>
</template>

<script>
import axios from 'axios'
export default{
  props:["vshow"],
  data () {
    return {
      news: [],
      ok: false,
      vshow: false,
      cate_id: 1
    }
  },
  mounted: function () {
    axios.get('static/data/dataBase.json')
      .then((res) => {
        console.log(res)
        this.news = res.data.dataTxt
        if (this.$route.query.id) {
          this.cate_id = this.$route.query.id
        }
      })
      .catch((err) => {
        console.log(err)
      })
  },
  methods: {
    showNextPage: function () {
      this.vshow = !this.vshow
    }
  },
  watch: {
    '$route' (to, from) {
      this.cate_id = this.$route.query.id
    }
  }
}
</script>
回答
編輯回答
敢試

v-show當(dāng)頁(yè)面進(jìn)來(lái)時(shí)就渲染了 只不過(guò)是用css display:none屬性隱藏掉了,當(dāng)然不會(huì)刷新了。
建議你去看看 v-if和v-show的區(qū)別

2018年7月31日 13:06
編輯回答
怣痛

你的props和data里都定義vshow了,瀏覽器沒(méi)警告么

2018年9月3日 17:40
編輯回答
兮顏

使用v-if試試

2018年3月20日 06:42