l***@gmail.com
l***@gmail.com
  • 发布:2021-04-07 09:03
  • 更新:2021-04-07 10:42
  • 阅读:623

pages.json condition传参问题,是否是bug?

分类:uni-app

NVUE treasureDebug模式可以正常运行,debug运行后报auditorium.js未找到错误,查看编译后文件,发现```javascript
"uniNView":{"path":"pages/auditorium/auditorium.js?{\u0027ENV\u0027:\u0027debug\u0027}"}}


```javascript  
{  
    "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages  
        {  
            "path": "pages/treasure/treasure",  
            "style": {"disableScroll": true}  
        },  
        {  
            "path": "pages/treasure/treasureTab1/treasureUpload",  
            "style": {"disableScroll": true}  
        },  
        {  
            "path": "pages/treasure/treasureTab1/treasureTab1Payment",  
            "style": {"disableScroll": true}  
        },  
        {  
            "path": "pages/auditorium/auditorium",  
            "style": {"disableScroll": true}  
        },  
        {  
            "path": "pages/auditorium/teacherList",  
            "style": {"disableScroll": true}  
        },  
        {  
            "path": "pages/auditorium/auditoriumDesc",  
            "style": {"disableScroll": true}  
        }  
    ],  
    "globalStyle": {  
        "navigationBarTextStyle": "black",  
        "navigationBarBackgroundColor": "#FFFFFF",  
        "backgroundColor": "#FFFFFF",  
        "navigationStyle": "custom",  
        "pageOrientation": "portrait",  
        "rpxCalcMaxDeviceWidth": 960,  
        "rpxCalcBaseDeviceWidth": 375,  
        "rpxCalcIncludeWidth": 750  
    },  
    "easycom": {  
        "autoscan": true,  
        "custom": {  
            "myp-(.*)": "@/mypUI/myp-$1/myp-$1.vue" // 匹配mypUI内的vue文件  
        }  
    },  
    "app-plus": {  
        "softinputMode": "adjustPan"  
    },  
    "condition" : { //模式配置,仅开发期间生效  
        "current": 0, //当前激活的模式(list 的索引项)  
        "list": [  
            {  
                "name": "treasureDebug", //模式名称  
                "path": "pages/treasure/treasure", //启动页面,必选  
                "query": "{'ENV':'debug'}" //启动参数,在页面的onLoad函数里面得到  
            },  
            {  
                "name": "treasureRelease", //模式名称  
                "path": "pages/treasure/treasure", //启动页面,必选  
                "query": "" //启动参数,在页面的onLoad函数里面得到  
            },  
            {  
                "name": "release", //模式名称  
                "path": "pages/auditorium/auditorium", //启动页面,必选  
                "query": "" //启动参数,在页面的onLoad函数里面得到  
            },  
            {  
                "name": "debug", //模式名称  
                "path": "pages/auditorium/auditorium", //启动页面,必选  
                "query": "{'ENV':'debug'}" //启动参数,在页面的onLoad函数里面得到  
            }  
        ]  
    }  
}  
2021-04-07 09:03 负责人:无 分享
已邀请:
2104_DLS

2104_DLS

注意一下你的query写法参考https://uniapp.dcloud.io/collocation/pages?id=condition,
query应为url的参数写法env=debug

  • l***@gmail.com (作者)

    如果这样写的话,传多个参数,在APP启动的时候在App.vue的onLaunch取值,很麻烦啊,写成json字符串还能转成JSON对象。

    2021-04-07 11:49

  • 2104_DLS

    回复 l***@gmail.com:

    query是在页面的onload中获取的,

    如果传递多个参数应该使用json格式,但是json也只作为一个参数的值就可以了,如下

    你应该用到的表达式是这样的(这里只是表示含义) "query": "query=encodeURIComponent(JSON.stringify({env:'debug'}))"

    所以结果就是这样的"query":"query=%7B%22env%22%3A%22debug%22%7D"

    那在onload中需要反解query这个参数

    2021-04-07 12:11

  • 2104_DLS

    把onload的query理解为浏览器地址栏的参数就好了

    2021-04-07 12:12

  • l***@gmail.com (作者)

    回复 2104_DLS: 页面的onload里获取是没问题,但是现在我需要在小程序启动时候就获取,好通过传参来改变一些我的全局变量,所以需要在App.vue页面的onLauch获取传参

    2021-04-07 13:34

  • 2104_DLS

    回复 l***@gmail.com: 你这个问题是想问什么,小程序可以指定启动页和启动参数的。

    2021-04-07 14:19

  • l***@gmail.com (作者)

    回复 2104_DLS: 就是当APP调用我的小程序给我传参的时候,query可以是JSON字符串么?可以的话,是不是我本机调试用的condition那里,不能用JSON字符串的方式模拟APP调用传参?

    2021-04-07 14:33

  • 2104_DLS

    回复 l***@gmail.com: 可以这样模拟,但是你的截图里边query传参的格式不正确,参考浏览器输入框的参数。

    2021-04-07 19:32

  • l***@gmail.com (作者)

    回复 2104_DLS: 我明白了,APP调用我小程序的时候,可以给我传JSON字符串。但是我用condition模拟的时候,得按照path?key=value&key=value的形式来传,是这个意思吧?

    2021-04-08 08:53

  • 2104_DLS

    回复 l***@gmail.com: 是的

    2021-04-08 09:34

  • l***@gmail.com (作者)

    回复 2104_DLS: 感谢感谢

    2021-04-08 14:38

该问题目前已经被锁定, 无法添加新回复