Làm sao để báo cho màn hình trước đó là đã quay lại?

Ví dụ em có màn hình A và B
Ở màn hình A, em bấm mở màn hình B
Khi B bấm back lại, thì sao sao A biết là đã được back từ B?

hi @namvo , nếu chuyển trang sử dụng jsapi my.navigateTo thì có thể truyền thêm query param. Ở dest component sẽ parse query ở hook onLoad:
ví dụ:
my.navigateTo({ url: ‘pages/home/index?from=‘profile’’ });
thì ở hook onLoad tại component home sẽ handle như sau:

 onLoad(query) {
   //parse query
  const from = query.split("=")[1]
  },

@lynhan318 trường hợp mình là A → B → A lại, mình muốn truyền dữ liệu từ B qua A á
tại vì mình dùng my.navigateBack();

Vậy là trường hợp này B có thể dùng my.navigateTo(A) hen

yeap B có thể dùng my.navigateTo(A). Trong trường hợp này mình còn cách nào nữa không anh @hanhan ơi :grinning_face_with_smiling_eyes:

 App({
  subscribers: [],
  onLaunch(options) {
    console.log('App onLaunch');
  },
  addSubscriber(subscriber) {
    this.subscribers.push(subscriber);
  },
  publishEvent(event) {
    console.log('publish', event)
    this.subscribers.forEach(subscriber => {
      subscriber(event);
    });
  },
  onShow(options) {
  },
});

Ah thôi mình dùng cách này rồi

1 Like

anh hay làm kiểu này (blind coding nhé)

// Page A
Page({
  onListPress(path) {
    my.getApp().navigateTo({ url: path }).then(() => console.log('back'));
  },
})
App({
    navigateBack() {
      if (this.goBackResolve) {
        this.goBackResolve();
      }
    },
    navigateTo(option) {
      return new Promise((resolve) => {
        this.goBackResolve = resolve;
        my.navigateTo(option);
      });
    }
});
// Page B 
Page({
  onUnload() {
     my.getApp().navigateBack();
  }
});
1 Like

:yum: okie nè, thôi em dùng cách kia để làm dc nhiều trò hơn

ah OK :)) post xong mới thấy cái của em.

Mà Promise là cái thứ vi diệu của thế giới Javascript :)) nên leverage nó.

1 Like