为了账号安全,请及时绑定邮箱和手机立即绑定

从list组件点击查看更多路由到了Info组件永远都是显示的第一条新闻详情

<template>
    <div>
        <ul>
            <li v-for="(item,index) in pageLists"
                @click="look(index)"
                :class="{active: index == current && current !== ''}"
                :key="index">
                <span>{{item.title}}</span>
                <p>{{item.content}}</p>
                <small>{{dateTime}}</small>
                <a v-show="index == current && current !== ''" @click="lookMore()">
                    <small>查看更多>></small>
                </a>
            </li>
        </ul>
    </div>
</template>
<script>
    import store from '@/store'
    export default {
        name: "List",
        store,
        data () {
            return {
                current: '',
                dateTime: new Date().toLocaleString()
            }
        },
        computed: {
            pageLists () {
                return store.state.lists
            }
        },
        methods:{
            look (index) {
                this.current = index
            },
            lookMore () {
                this.$router.push('/info');
            }
        }
    }
</script>
<template>
    <div>
        <div v-for="(item,index) in pageLists"
             v-show="index == current"
             :key="index">
            <span>{{item.title}}</span>
            <p>{{item.content}}</p>
        </div>
        <div class="returnList" @click="returnList()">返 &nbsp; 回</div>
    </div>
</template>
<script>
    import store from '@/store'
    export default {
        store,
        name: "Info",
        data () {
            return {
                current: '',
            }
        },
        computed: {
            pageLists () {
                return store.state.lists
            }
        },
        methods:{
            returnList () {
                this.$router.push('/home/list')
            }
        }
    }
</script>


正在回答

3 回答

这里的道理很简单,因为你在Info页面没有告诉它要显示第几个啊。

你的LoadMore方法只是把路由跳转了,并没有传参数啊,小伙伴。

你要告诉Info页面,我现在点的第几个,你帮我展示一下下。

0 回复 有任何疑惑可以回复我~
#1

kingchan 提问者

谢谢老师,是这样? lookMore () { store.state.current = this.current this.$router.push('/info'); }
2019-04-07 回复 有任何疑惑可以回复我~

解决了吗。 我ifon组件显示的是全部额

0 回复 有任何疑惑可以回复我~

谢谢老师,是这样?

lookMore () {

store.state.current = this.current

this.$router.push('/info');
}


0 回复 有任何疑惑可以回复我~
#1

Brian

记住,改变vuex中state的唯一方式是mutation
2019-04-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

从list组件点击查看更多路由到了Info组件永远都是显示的第一条新闻详情

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信