首先这段代码来自 zwwill在github上的 weex网易严选项目
他是在utils下封装了一个方法
let utilFunc = {
initIconFont () {
let domModule = weex.requireModule(\'dom\');
domModule.addRule(\'fontFace\', {
\'fontFamily\': "iconfont",
\'src\': "url(\'http://at.alicdn.com/t/font_630973_b31no0qq0nt57b9.ttf\')"
});
}
}
通过 dom模块的 addRule方法
能够在html的中添加代码
字体图标有很多文件,ttf,eof,svg,woff
但是只加载这个 ttf 就能出现效果了
执行 initIconFont 之后 就在html中添加了一下代码
@font-face {
font-family: \'iconfont\'; /* project id 630973 */
url(\'//at.alicdn.com/t/font_630973_b31no0qq0nt57b9.ttf\') format(\'truetype\')
}
然后字体图标就生效了
注意:字体图标的链接记得改成自己的。
动态加载
<template>
<div class="tabItem">
<div class="item" @click="tabChange(tab.index)" v-for="tab in tabs"><text class="iconfont icon" :class="[currentIndex === tab.index ? \'active\' : \'\']" :style="{fontFamily:\'iconfont\',fontSize:\'60px\'}">{{getFontName(tab.code)}}</text>
<text :class="[currentIndex === tab.index ? \'active\' : \'\']">{{tab.tabName}}</text></div>
</div>
</template>
<script>
var he=require(\'he\');
import utils from \'@/assets/utils.js\';
export default {
components: {},
data: () => ({
currentIndex:0,
tabs:[{index:0,code:"",tabName:\'首页\'},
{index:1,code:\'\',tabName:\'发现\'},
{index:2,code:\'\',tabName:\'购物车\'},
{index:3,code:\'\',tabName:\'我的\'}]
}),
created () {
},
computed: {
},
methods: {
tabChange:function (index) {
this.currentIndex=index
},
getFontName: function(name){
return he.decode(name)
}
}
};
</script>