确实我没有看到你问的是uniappX,
但是哥们,你不看文档的吗?调用上一页只需要获取到实例即可,
至于 $vm 在Web 与 iOS端是支持的;
//uniapp中
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; //返回上一页
prevPage.$vm //是vue的实例
//uniapp x中
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
currentPage //是page的实例
在uniapp x中直接拿page的实例去调即可
12 个回复
晒网 (作者) - 只晒网不打渔
使用场景是在A页点按钮跳转到B页 B页修改完数据后返回 时更新A页面的数据,没有用$on $off $emit 因为页面会反复打开很多次 不知道这种方法 会不会有什么问题 所以用了getCurrentPages 但是这个getCurrentPages 怎么调上一页的方法 不知道咋弄
晒网 (作者) - 只晒网不打渔
@DCloud_heavensoft @DCloud_UNI_yuhe @DCloud_UNI_BFC
杨杨得亿 - 这个人很懒,什么都没有留下~
7***@qq.com
$vm后面调用A界面方法
晒网 (作者) - 只晒网不打渔
$vm 不支持uniappx吧 这个是uniapp的
杨杨得亿 - 这个人很懒,什么都没有留下~
确实我没有看到你问的是uniappX,
但是哥们,你不看文档的吗?调用上一页只需要获取到实例即可,
至于 $vm 在Web 与 iOS端是支持的;
在uniapp x中直接拿page的实例去调即可
DCloud_UNI_yuhe
你可以这样,找到你需要的页面,找到$vm下的$callMethod,用这个方法来调用页面的方法
DCloud_UNI_yuhe
比方说,有一个click方法,那么你就这么写就行pages[0].$vm.$callMethod('click')
2024-09-18 16:38
9***@qq.com
回复 DCloud_UNI_yuhe: 如果是从新获取列表数据呢?参数应该怎么传?
2024-09-18 16:41
DCloud_UNI_yuhe
回复 9***@qq.com: 什么列表数据?
2024-09-18 16:42
9***@qq.com
回复 DCloud_UNI_yuhe: 是这样吗? pages[0].$vm.$callMethod('click',pages[0].$vm.obj)
2024-09-18 16:43
9***@qq.com
回复 DCloud_UNI_yuhe: 从新获取上个界面的数据 但是需要传参
2024-09-18 16:44
DCloud_UNI_yuhe
回复 9***@qq.com: 文档中有,你看这个:https://doc.dcloud.net.cn/uni-app-x/vue/component.html#call-component-method
2024-09-18 16:47
晒网 (作者) - 只晒网不打渔
晚上了试一下 今天是晚班 另外上面的杨杨得亿仁兄 page的实例试 不管是$vm 还是直接page.方法 编译都会报错的
@DCloud_UNI_yuhe pages[0].$vm.$callMethod('click') 编译过不去 昨天试过了的
DCloud_UNI_yuhe
你是用到了android上吗?这个只支持web和ios
2024-09-18 17:21
晒网 (作者)
回复 DCloud_UNI_yuhe: 要用到android和ios上
2024-09-19 15:54
晒网 (作者) - 只晒网不打渔
16:59:42.702 error: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
16:59:42.702 public operator fun String.get(index: Number): Char defined in io.dcloud.uts
16:59:42.702 at pages/persioncenter/myself/childs/myself-edit.uvue:217:3
16:59:42.702 215| let updatepages = pages[pages.length -2]
16:59:42.702 216| console.log('updatepagesupdatepages',updatepages)
16:59:42.702 217| updatepages[0].$vm.kansee()
16:59:42.702 | ^
16:59:42.702 error: No get method providing array access
16:59:42.702 at pages/persioncenter/myself/childs/myself-edit.uvue:217:15
16:59:42.702 215| let updatepages = pages[pages.length -2]
16:59:42.702 216| console.log('updatepagesupdatepages',updatepages)
16:59:42.702 217| updatepages[0].$vm.kansee()
@DCloud_UNI_yuhe
靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人
要不就试试这个
晒网 (作者)
这个用过 这个可以的 但是getCurrentPages在uniappx下怎么调方法 不会用 等官方回复一下
2024-09-18 19:54
靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人
可以这样,不过那个页面需要导出你要调用的方法之后才能用
,之后
这样调用...其中$和_,exposed和exposeProxy取其一都是可以的,不确定uniapp-x能不能用,可以试试
晒网 (作者)
理论上可行 不过官方的不可能只支持设置样式吧 要不然这玩意儿太鸡肋了
2024-09-19 15:54
晒网 (作者) - 只晒网不打渔
@DCloud_UNI_yuhe