|
本帖最后由 dadong 于 2020-4-24 09:55 编辑
router接口在快应用中是个很强大的接口,可以实现很多神奇的操作,比起小程序里的路由来不知高到哪里去了(逃。只是目前快应用生态社区内容还不够丰富,示例代码和相关开源项目也比较少,因此萌生了下一篇博客专门记录在实战开发中使用router接口的方法。
打开网页
- sheme: https://[host]/[path]?[query] http://[host]/[path]?[query]
- router.push({
- uri: "https://www.google.com"
- })
复制代码
打电话
- sheme: tel:[telephoneNumber]
- router.push({
- uri: "tel:12345"
- })
复制代码
发短信
发送短信多了一个参数`body`,这个参数用于传递发送的短信内容。
- sheme: sms:[telephoneumber]
- router.push({
- uri: "tel:10086",
- params: {
- body: '给我充值一个亿!'
- }
- })
复制代码
跳转快应用
- sheme: hap://app/[packageName]/[path]?[query]
- router.push({
- uri: "hap://app/com.quickapp.center"
- })
复制代码
跳转快应用时query的值可以在跳转页面中获取到,一般来讲query的形式是`?key=value`。要在跳转过去的快应用中获取key和value,只需采取方式`this[key]`,即可获取。前提是要在跳转对应的path页面中才可以。还是上代码说明:
跳转的代码
- router.push({
- uri: "hap://app/com.example.quickapp/index?content={text:'奥利给'}"
- })
复制代码
跳转对应的index.ux页面的代码
- <template>
- <div>
- <text>{{content.text}}</text>
- </div>
- </template>
- <script>
- export default {
- data: {
- content: ''
- },
- onInit() {
- try { // 防止传入的值不能被序列化为JSON而报错
- this.content = JSON.parse(this.content);
- } catch(e) {
- console.log(e);
- }
- }
- }
- </script>
- <style></style>
复制代码
在拉起成功之后,页面的content值会被onInit中的方法初始化为`{text:"奥利给"}`,所以页面上会显示`奥利给`的文本内容。当然也可以不明确的在data中声明content属性,但是建议声明一下,可以提高代码的可维护性,免得后面自己都不知道这个content是哪里来的。
打开系统WIFI设置页(需要引擎版本大于1040)
- router.push({
- uri: "hap://settings/wlan_manager"
- })
复制代码
|
|