xcjack@126.com
xcjack@126.com
  • 发布:2019-04-14 10:59
  • 更新:2019-09-23 10:12
  • 阅读:3208

在UNI-APP中真机和模拟器getCurrentPages获取不到前一个页面data中定义的属性

分类:uni-app

我在前一个页面index.vue的data中定义了一个title属性,点击进入test.vue后,想在test中获取前一个页面定义的属性title
,目前在浏览器中运行正常。但是在安卓模拟器和真机中却获取不到。难道有什么权限限制吗?错误截图如下。

2019-04-14 10:59 负责人:无 分享
已邀请:
MixR

MixR

试试 prePage.$vm.title

  • xcjack@126.com (作者)

    还真是可以,这是怎么回事?官方文档也没说这个。

    2019-04-14 11:55

牙生

牙生

手机上获取的是 undefined

xcjack@126.com

xcjack@126.com (作者) - 后端工程师

下面贴上两个页面的代码:
index.vue:

<template>  
    <view class="content" @click="navTo('./test')">  
        <image class="logo" src="/static/logo.png"></image>  
        <view>  
            <text class="title" >{{title}}</text>  
        </view>  
    </view>  
</template>  

<script>  
    //导入mapstate辅助工具  
    import {mapMutations} from 'vuex';  
    import {mapState} from 'vuex';  

    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  

        },  
        methods: {  
            navTo(url){  
                uni.navigateTo({  
                    url:url  
                })  
            }  
        }  
    }  
</script>  

<style>  
    .content {  
        text-align: center;  
        height: 400upx;  
    }  

    .logo {  
        height: 200upx;  
        width: 200upx;  
        margin-top: 200upx;  
    }  

    .title {  
        font-size: 36upx;  
        color: #8f8f94;  
    }  
</style>  
xcjack@126.com

xcjack@126.com (作者) - 后端工程师

test.vue:

<template>  
    <view>  
        <view>{{title}}</view>  
        <view>{{route}}</view>  
    </view>  
</template>  

<script>  

    export default {  
        data(){  
            return {  
                title:'',  
                route:''  
            }  

        },  
        onLoad(option) {  
            let pages = getCurrentPages();  
            let prevPage = pages[pages.length - 2];  

            this.title = "获取前一个页的标题:"+prevPage.title   
            this.route = "获取前一个页的路由:"+prevPage.route  
            return;  

        },  

    }  
</script>  

<style>  
</style>  
xcjack@126.com

xcjack@126.com (作者) - 后端工程师

你们用的时候都不需要加$vm吧?

  • MixR

    这种都是根据平台不同封装之后用的

    2019-04-14 12:55

要回复问题请先登录注册