佚名通过本文主要向大家介绍了(swift)weex使用原生导航栏通过自定义openURLvue界面怎么实现avue跳转到bvue等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: (swift)weex使用原生导航栏 通过自定义openURL vue界面怎么实现avue跳转到bvue
描述:
解决方案1:
描述:
需要使用原生的导航栏,所以跳转界面是通过自定义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文件
这样我可以将b.vue对应的生成到dist目录下就可以实现,但是觉得这样太麻烦了,有没有更好的办法呢?
解决方案1:
还是把 .vue
文件编译了吧,不麻烦。不说实时解析性能和安全性了,在 web 上也没有浏览器能直接运行 .vue
。。