参考网址
1 uni与html的区别 https://www.jianshu.com/p/2160b8193282
2 uni路由传参框架 https://www.jianshu.com/p/f3876ab38dc0
3 使用vscode写uni https://www.jianshu.com/p/74c06e649e71 (我没这么干 只是vs写 hublid展示 )
1/ 先搭架子~ 因为实在习惯vscode 所以使用vs code 自动保存写+hbuilder运行的模式。(hbulider内置这个刷新可以实时同步挺好的 但是没有保存/ 我没开发出来这些用法确实有点gg哦)
1 uni.navigateTo({ url:' ' })
2 呢其实也就是给改成了navigator
open-type="redirect"
hover-class="other-navigator-hover">
(3)页面栈~ 【注意层级关系,返回关系,注意tabBar关系】
navigateTo
, redirectTo
只能打开非 tabBar 页面。
switchTab
只能打开 tabBar
页面。reLaunch
可以打开任意页面。tabBar
由页面决定,即只要是定义为 tabBar
的页面,底部都有 tabBar
。App.vue
里面进行页面跳转。getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。注意
: getCurrentPages() 仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。
每个页面实例的方法属性列表如下:
方法 | 描述 | 平台说明 |
---|---|---|
page.$getAppWebview() | 获取当前页面的webview对象实例 | 5+App |
page.route | 获取当前页面的路由 | - |
uni-app
在 getCurrentPages()
获得的页面里内置了一个方法 $getAppWebview()
可以获取当前页面的webview对象实例,从而获得 webview 的 style、id等属性,也可设置 webview 的 style。注意
:此方法仅 5+app 支持。
//页面跳转并传递参数
uni.navigateTo({
url: 'page2?name=liy&message=Hello'
});
页面2接受参数
onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数 console.log(option.name); //打印出上个页面传递的参数。 console.log(option.message); //打印出上个页面传递的参数。 }
太长会失败哦~ 可以用【窗体通信】【全局变量】encodeURIComponent
的解决
=============================
如果是数据集:有点麻烦~
1 <括号格式> 我们传过去的是list 然后
data(){ return{
xxxList:[
{ "aa":"aa", "bb":"bb" }, 后面的括号一一配对 就不写了0 0
2 <进行传送>
先json解析! var processList = JSON.stringify(this.processList); 然后正常传送!uni.navigateTo({ url: 'new-page2?processList=' + processList })
3<接收>:
onLoad(options){ if(options.processList){ this.processList = JSON.parse(options.processList); console.log("onLoad-processList3:" + JSON.stringify(this.processList));
就是先parse 再stringify 不知道下面这个是上面
====================醒目 json还没搞懂=====================
const item = JSON.parse(decodeURIComponent(option.item));