weex css单位,Weex中CSS和JS的重用

多个页面共用的CSS

这个必须吐槽一下,找了各种方法,用了什么@import和sass以及scss,都不好使,特别注意@import方式,在web上好用在native上是不好使的.

下面才是正确的使用方式:

...

...

竟然写两个style就好了.心疼我的智商

引入公用JS(也就是工具类)

如下目录层级:

78e42dbbc2d1

目录层级

1 在script标签中,通过import引入,使用相对目录,注意如果需要引入的文件直接在当前文件所在层级的子目录,必须用./子目录/xxx.js;的方式,不可直接子目录/xxx.js.

import util from '../utils/iconfont/iconfont-utils';

2 在被导入的js文件中添加export.default.xxx 这个export一定要写在你定义的变量后边.

export default iconfontUtils

Show me the code

index.vue

哈哈

 ←左边的是iconfont

import util from './utils/iconfont'

export default {

data: {},

methods: {},

created () {

// 页面初始化完成后加载iconfont字体

util.initIconfont();

}

}

iconfontUtil.js

/**

* 初始化加载iconfont字体

*

* @type {{initIconfont: (function())}}

*/

let iconfontUtils = {

initIconfont() {

let dom = weex.requireModule('dom');

//通过获取platform判断加载字体文件的路径,(待完善,在手机playground中,是无法加载本地文件的)

let platform = weex.config.env.platform.toLowerCase();

let url;

if ( "android" == platform) {

//本地资源采用'local:// '的方式加载

//第三个斜杠是代表当前目录,对于android来说,如果加载的是字体,那么就是assets目录,同理`/iconfont.ttf'`就是加载`assets`目录下的iconfont.ttf文件

url = "url('local:///font/iconfont.ttf')";//注意我这里是将字体文件放在'assets/font/''目录下的

} else if ("ios" == platform) {

//todo 理论上同android未测试

url = "url('local:///font/iconfont.ttf')";

} else {

url = "url('http://at.alicdn.com/t/xxxxxxx.ttf')"

}

dom.addRule('fontFace', {

'fontFamily': "iconfont",

'src': url

});

}

}

export default iconfontUtils;

封装组件(比如App的Header)

通过props来定义,父组件访问的数据

{{leftText}}

{{midText}}

{{rightText}}

export default {

props: [leftText,rightText,midText],

data: {},

methods: {}

}

在父组件中通过以下方式,在compents里声明标签的字符,玛德这里必须吐槽一下,第一次定义成了header,在android里死都出来,iOS上是好的.哎,闹心,注意一下,最好不用html里已经存在的标签

import title from './component/title.vue'

export default {

data: {},

components: {

title

},

methods: {

}

}

通过对象方式

父组件声明:

show me the fucking code ---> title.vue

{{bundle.leftText}}

{{bundle.midText}}

{{bundle.rightText}}

export default {

props: {

bundle: {

type: Object,

default: function () {

return {

leftText: '返回',

midText: '标题',

rightText: '新增',

}

}

},

},

data: {},

methods: {}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值