Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

两个不同的webview如何做值传递的问题 #4

Open
hughgr opened this issue Nov 3, 2016 · 4 comments
Open

两个不同的webview如何做值传递的问题 #4

hughgr opened this issue Nov 3, 2016 · 4 comments

Comments

@hughgr
Copy link

hughgr commented Nov 3, 2016

sorry,没有看到什么特殊的渠道可以参与讨论,所以在这里开一个issue

按你们的设计思路,假如A页面一个链接到了B页面,此时转场动画交给了native去做,A页面和B页面同时处于两个不同的webview中,如果B页面的某些状态发生了改变,需要通知到A页面做update,这种情况如何做同步

@lincode
Copy link

lincode commented Nov 3, 2016

在纯 web 开发中这种情况是如何做的呢?
一般会希望做到每个页面都能独立,不相互依赖。为了达到这个目的,状态同步的方式是向服务器要一次数据,刷新自己的数据。所以,在使用 rexxar 的页面,我们也推荐这种方式。

如果,你的页面更前后有很多的状态同步。你可能可以考虑一下它是否适合使用原生来完成。
或者使用局部 rexxar 来完成。在局部 rexxar 中,我们给出了 native 向 web 塞数据的方式。但是,这样就会失去移植到 web 的肯能性。因为,native 也参与到业务逻辑中了。

@hughgr
Copy link
Author

hughgr commented Nov 3, 2016

一般纯web开发 中等规模左右的应用 我一般采用SPA的方式 :)
当然使用SPA也有SPA的问题

顺便问一句,h5页面之间的转场效果始终不如native平顺,是不是也是你们按页面切分应用的一个考量因素

@lincode
Copy link

lincode commented Nov 3, 2016

是的,我们使用的 rexxar 做的一个前提是性能和体验和 native 一致。所以,转场是使用 native 实现的。

@xiaolongyuan
Copy link

xiaolongyuan commented Mar 8, 2017

如何 转向 B 页面 ?

定义一个 Api 调用?

 /**
   *
   * @param uri
   * @param open 0 默认开新页 1 替换当前页 -1 关闭当前页 开启新页
   * @returns {Promise}
   */
  toPage(uri , open = 0) {
    return new Promise((resolve, reject) => {
      this.constructor.processGet({
        type: 'toPage',
        params:{ uri , open },
        success: (data) => {
          if (data.success) {
            reject(data);
          } else {
            resolve(data);
          }
        },
        failure: (data) => {
          reject(data);
        }
      });
    })
  }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants