Nvue入坑总结

  • Post author:
  • Post category:vue


引入外部的 css

在 App.vue 里写的公用的样式在 nvue 里是不生效,多个 nvue 想要使用公用的样式,需要引入外部的 css。

由于 weex 的限制,不能在 style 节点下使用

@import "xxx.css"

这样的方式引入外部 css,需要使用如下方式引入 css:

<style src="@/common/test.css"></style>
<style>
   .test {
        color: #E96900;
   }
</style>

需要注意的是在

<style src="@/common/test.css"></style>

节点里写样式是不生效的。

使用 ttf 字体文件

在nvue或者weex中是不能直接在css中 通过

@font-face

这样的方式引入字体文件的,需要在js中使用 dom 模块引入字体文件,可参考

weex文档

const domModule = weex.requireModule('dom');
domModule.addRule('fontFace', {
    'fontFamily': "iconfont2",
    'src': "url('http://at.alicdn.com/t/font_1469606063_76593.ttf')"
});

引入本地字体文件

let fontSrc = plus.io.convertLocalFileSystemURL('/static/fonts/iconfont.ttf')
var domModule = weex.requireModule("dom");
domModule.addRule('fontFace', {
	'fontFamily': 'iconfont',
	'src': "url('file:/" + fontSrc + "')"
})

vue 打开 nvue 时传递参数

由于 vue 打开 nvue 时不能在 url 后携带参数,只能使用 storage 的方式进行参数传递。

在 vue 页面打开 nvue

uni.setStorageSync('test', 'hello');
uni.navigateTo({
    url:"/pages/nvue/nvue"
})

在 nvue 页面获得参数,在 created 里调用 uni-app 的 api 时需要延时一段时间才能调用成功(最新版 uni-app 框架已经修复此问题,不用延时也可以调用成功)。

<script>
    export default {
        created() {
        	console.log("nvue created!");
            setTimeout(() => {
                uni.getStorage({
                	key:'test',
                    success: (res) => {
                    	console.log("获得上个页面传递的数据" + res.data)
                    }
                })
            },200)
        }
    }
</script>

稍后会继续更新的



版权声明:本文为m0_59464433原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。