weex使用原生导航栏 通过自定义openURL vue界面怎么实现a.vue跳转到b.vue

需要使用原生的导航栏,所以跳转界面是通过自定义module,添加openURL方法实现具体使用如下

var event = weex.requireModule('event')
event.openURL('http://xxx/weex/app.weex.js');

现在想实现效果为

var event = weex.requireModule('event')
event.openURL('b.vue');

swift端的实现是

public extension WXEventModule {
    public func openURL(_ url:String) {
        var newUrl:String = url;
        if url.hasPrefix("//") {
            newUrl = String.init(format: "http://%@", url);
        }else if !url.hasPrefix("http") {
            //relative path
            newUrl = (NSURL.init(string: url, relativeTo: weexInstance.scriptURL)!.absoluteString)!
        }
        print(url)
        let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
        let mainVc = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
        mainVc.url = newUrl
        weexInstance.viewController.navigationController?.pushViewController(mainVc, animated:true)
    }
}

通过打断的知道直接dist 目录下找对应的js文件

clipboard.png
这样我可以将b.vue对应的生成到dist目录下就可以实现,但是觉得这样太麻烦了,有没有更好的办法呢?

阅读 6.6k
1 个回答

还是把 .vue 文件编译了吧,不麻烦。不说实时解析性能和安全性了,在 web 上也没有浏览器能直接运行 .vue。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题