微信小程序 如何引入外部字体库iconfont的

微信小程序 如何引入外部字体库iconfont的,第1张

如何引入外部字体库iconfont的图标,具体如下

直接使用阿里巴巴的网络路径

选择iconfont图标

官网:阿里巴巴矢量字体库

步骤:阿里巴巴字体库使用方法

全局引入appwxss

12345678910111213141516171819202122232425262728293031323334@font-face { font-family: 'iconfont'; / project id 518032 / src: url('//atalicdncom/t/font_518032_t2q88z3jok8iwwmieot'); src: url('//atalicdncom/t/font_518032_t2q88z3jok8iwwmieot#iefix') format('embedded-opentype'), url('//atalicdncom/t/font_518032_t2q88z3jok8iwwmiwoff') format('woff'), url('//atalicdncom/t/font_518032_t2q88z3jok8iwwmittf') format('truetype'), url('//atalicdncom/t/font_518032_t2q88z3jok8iwwmisvg#iconfont') format('svg');}iconfont { font-family:"iconfont" !important; font-size:60rpx; font-style:normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}/本项目使用的18个图标 /icon-zhiding:before{content: '\e739';}icon-zuojiantou:before{content: '\e736';}icon-youjiantou:before{content: '\e735';}icon-shangjiantou:before{content: '\e734';}icon-xiajiantou1:before{content: '\e733';}icon-xiajiantou:before{content: '\e6cc';}icon-gengduotianchong:before{content: '\e67f';}icon-erweima:before{content: '\e65f';}icon-fenleiorguangchangorqita:before{content: '\e64f';}icon-dibiao:before{content: '\e64d';}icon-bangzhu:before{content: '\e64a';}icon-xinfeng:before{content: '\e640';}icon-duihuaxinxi:before{content: '\e639';}icon-sousuo:before{content: '\e62f';}icon-shouye:before{content: '\e62d';}icon-shezhi:before{content: '\e62a';}icon-shanchu:before{content: '\e629';}icon-dianhua:before{content: '\e61b';}

使用图标

123456789101112131415161718192021222324<view> <icon class="iconfont icon-zhiding"></icon> <icon class="iconfont icon-zuojiantou"></icon> <icon class="iconfont icon-youjiantou"></icon> <icon class="iconfont icon-shangjiantou"></icon> <icon class="iconfont icon-xiajiantou1"></icon> <icon class="iconfont icon-xiajiantou"></icon></view><view> <icon class="iconfont icon-gengduotianchong"></icon> <icon class="iconfont icon-erweima"></icon> <icon class="iconfont icon-fenleiorguangchangorqita"></icon> <icon class="iconfont icon-dibiao"></icon> <icon class="iconfont icon-bangzhu"></icon> <icon class="iconfont icon-xinfeng"></icon></view><view> <icon class="iconfont icon-duihuaxinxi"></icon> <icon class="iconfont icon-sousuo"></icon> <icon class="iconfont icon-shouye"></icon> <icon class="iconfont icon-shezhi"></icon> <icon class="iconfont icon-shanchu"></icon> <icon class="iconfont icon-dianhua"></icon></view>

效果图

注意:此处实现采用的是无APPID的开发模式,实际应用应该在微信小程序管理平台的开发设置中配置合法域名。

下载到本地

步骤

字体文件转化成base64格式

解压压缩包 —- 找到ttf格式文件 —- 上传到平台转化为base64格式 —- 下载压缩包 —- 将css文件名改为wxss —- 放入项目文件夹 —- 用@import全局引入 —- 使用

使用—-引入及全局定义

123456789101112131415161718192021222324@import "src/css/iconwxss";iconfont { font-family: "iconfont"; font-size:60rpx;}/本项目使用的18个图标 /icon-zhiding:before{content: '\e739';}icon-zuojiantou:before{content: '\e736';}icon-youjiantou:before{content: '\e735';}icon-shangjiantou:before{content: '\e734';}icon-xiajiantou1:before{content: '\e733';}icon-xiajiantou:before{content: '\e6cc';}icon-gengduotianchong:before{content: '\e67f';}icon-erweima:before{content: '\e65f';}icon-fenleiorguangchangorqita:before{content: '\e64f';}icon-dibiao:before{content: '\e64d';}icon-bangzhu:before{content: '\e64a';}icon-xinfeng:before{content: '\e640';}icon-duihuaxinxi:before{content: '\e639';}icon-sousuo:before{content: '\e62f';}icon-shouye:before{content: '\e62d';}icon-shezhi:before{content: '\e62a';}icon-shanchu:before{content: '\e629';}icon-dianhua:before{content: '\e61b';}

开发使用

123456789101112131415161718192021222324<view> <icon class="iconfont icon-zhiding"></icon> <icon class="iconfont icon-zuojiantou"></icon> <icon class="iconfont icon-youjiantou"></icon> <icon class="iconfont icon-shangjiantou"></icon> <icon class="iconfont icon-xiajiantou1"></icon> <icon class="iconfont icon-xiajiantou"></icon></view><view> <icon class="iconfont icon-gengduotianchong"></icon> <icon class="iconfont icon-erweima"></icon> <icon class="iconfont icon-fenleiorguangchangorqita"></icon> <icon class="iconfont icon-dibiao"></icon> <icon class="iconfont icon-bangzhu"></icon> <icon class="iconfont icon-xinfeng"></icon></view><view> <icon class="iconfont icon-duihuaxinxi"></icon> <icon class="iconfont icon-sousuo"></icon> <icon class="iconfont icon-shouye"></icon> <icon class="iconfont icon-shezhi"></icon> <icon class="iconfont icon-shanchu"></icon> <icon class="iconfont icon-dianhua"></icon></view>

效果图

一、定义模板

1、新建一个template文件夹用来管理项目中所有的模板;

2、新建一个courseListwxml文件来定义模板;

3、使用name属性,作为模板的名字。然后在内定义代码片段。

注意:

a可以看到一个wxml文件中可以定义多个模板,只需要通过name来区分;

b模板中的数据都是展开之后的属性。

<template name="courseLeft">

<navigator url="/play/playcourseUuid={{courseUuid}}&isCompany={{isCompany}}">

<view class="item mr26">

<image src="{{imagePath}}" mode="aspectFill"></image>

<view class="course-title">

<text class="title">{{courseName}}</text>

<text class="author">- {{teacherName}}</text>

</view>

<view class="course-info clearfix">

<view class="fl"><text class="play">{{playCount}}</text></view>

<view class="fr"><text class="grade">{{score}}</text></view>

</view>

<view wx:if="{{studyProgress}}" class="tip-completed">{{studyProgress}}</view>

</view>

</navigator></template><template name="courseRight">

<navigator url="/play/playcourseUuid={{courseUuid}}&isCompany={{isCompany}}">

<view class="item">

<image src="{{imagePath}}" mode="aspectFill"></image>

<view class="course-title">

<text class="title">{{courseName}}</text>

<text class="author">- {{teacherName}}</text>

</view>

<view class="course-info clearfix">

<text class="play fl">{{playCount}}</text>

<text class="grade fr">{{score}}</text>

</view>

<view wx:if="{{studyProgress}}" class="tip-completed">{{studyProgress}}</view>

</view>

</navigator></template>

二、使用模板

1、使用 is 属性,声明需要的使用的模板

<import src="//templates/courseListwxml"/>

2、将模板所需要的 data 传入,一般我们都会使用列表渲染。

<block wx:for="{{courseList}}">

<template is="{{index%2 === 0 'courseLeft' : 'courseRight'}}" data="{{item}}"></template></block>

注意:

a可以通过表达式来确定使用哪个模板is="{{index%2 === 0 'courseLeft' : 'courseRight'}}"

或者通过wx:if来确定。index是数组当前项的下标。

<template wx:if="{{index%2 === 0}}" is="courseLeft" data="{{item}}"></template>

<template wx:else is="courseRight" data="{{item}}"></template>

b data 是要模板渲染的数据,data="{{item}}" 写法是ES6的写法,item是wx:for当前项, 是展开运算符,在模板中不需要再{{itemcourseName}} 而是直接{{courseName}} 。

三、模板样式

1、在新建模板的时候同时新建一个courseListwxss 的文件,与CSS同样的写法控制样式。

2、在需要使用模板的页面 wxss文件中import进来;或者直接在appwxss中引入,这样只需要一次引入,其他文件就不用引入了。

@import url("/template/courseListwxss");

在引入之前,需要安装nodejs作为运行环境,具体 *** 作网上可以搜得到!

以引入vant为例:

输入npm init,下面的选择都用回车即可

npm i weui-miniprogram -S --production

@import '/miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weuiwxss';

"usingComponents": {

"mp-toptips": "//miniprogram_npm/weui-miniprogram/toptips/toptips"

}

<mp-toptips msg="{{tips}}" type="success" show="{{tips}}"></mp-toptips>

Minax是一个专为小程序开发的状态管理库,它采用集中式存储管理应用的所有组件的状态,

并能够配置是否与缓存做绑定,使用方式类似与Vuex。通常可以用来解决多个试图共享同一

状态或者多个试图需要变更同一状态的场景。

针对221以下基础库版本,请将本库的dist目录复制到您的项目中,然后适用require或者import的方式引用即

或者

由于小程序的文件夹默认不采用npm的形式,所以第一步需要将小程序项目初始化成npm项目

然后根据你的包管理工具使用

或者

安装成功后,点击开发者工具中的菜单栏:工具 --> 构建 npm

勾选“使用 npm 模块”选项:

构建完成后即可使用 npm 包,js 中引入 npm 包:

Minax库的核心就是store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state以及action)。

Minax 和单纯的全局对象有以下两点不同:

Minax 的状态存储是基于发布订阅模式的,当页面或组件从 中设置了 mapState 时,相当于向store订阅了该状态,若 store 中的状态发生变化,那么相应的组件、页面也会相应地得到高效更新。

你不能直接改变 store 中的状态,改变 store 中的状态的唯一途径就是显式地提交发布 (commit),这样使得我们可以方便地跟踪每一个状态的变化。

我们建议在项目建一个store/indexjs文件,一个简单的store编写如下:

现在,你可以通过 storestate 来获取状态对象,以及通过 storecommit 方法触发状态变更:

在项目的appjs中,将store引入

在Page、Component、Behavior中配置mapState属性,其对应的值为一个字符串或者字符串数组

mapState: ['cartCount', 'mark'],

或者

mapState: 'cartCount',经mapState处理过的属性等效于设置月data中,您可以通过thisdatacartCount获取,也可以通过this$storestatecartCount获取

在wxml中,直接绑定改值既可

看到这里,你应该已经基本掌握本库的使用了

state是Minax的全部状态源,我们通过在state中设置的key来绑定状态,其有两个特性:

Minax支持于缓存绑定的模式,这一点你只需要知道即可,因为你无需 *** 作缓存,这一切都由store帮你做好,初始化时会自动读取,更新时会自动写入,而你要做的知识在bindStorageMode等于true时,配置state的持久化属性即可

action通常用于处理异步事物(你实在要同步使用我也没办法)

使用时

好啦,暂时先到这里,你可以愉快的coding啦

备注

在使用到 SystemInfoUtil 的地方需要 import

import SystemInfoUtil from '工具类文件路径' // 小程序 js 中只能用相对路径好像,类似 ///utils/utilsjs

具体代码如下:

import javaxswing;

import javaawtevent;

import javaawt;

public class Calculator  extends JFrame implements ActionListener  {

private JFrame jf;

private JButton[] allButtons;

private JButton clearButton;

private JTextField jtf;

public Calculator() {

//对图形组件实例化

jf=new JFrame("任静的计算器10:JAVA版");

jfaddWindowListener(new WindowAdapter(){

public void windowClosing(){

Systemexit(0);

}

});

allButtons=new JButton[16];

clearButton=new JButton("清除");

jtf=new JTextField(25);

jtfsetEditable(false);

String str="123+456-7890=/";

for(int i=0;i<allButtonslength;i++){

allButtons[i]=new JButton(strsubstring(i,i+1));

}

}

public void init(){

//完成布局

jfsetLayout(new BorderLayout());

JPanel northPanel=new JPanel();

JPanel centerPanel=new JPanel();

JPanel southPanel=new JPanel();

northPanelsetLayout(new FlowLayout());

centerPanelsetLayout(new GridLayout(4,4));

southPanelsetLayout(new FlowLayout());

northPaneladd(jtf);

for(int i=0;i<16;i++){

centerPaneladd(allButtons[i]);

}

southPaneladd(clearButton);

jfadd(northPanel,BorderLayoutNORTH);

jfadd(centerPanel,BorderLayoutCENTER);

jfadd(southPanel,BorderLayoutSOUTH);

addEventHandler();

}

//添加事件监听

public void addEventHandler(){

jtfaddActionListener(this);

for(int i=0;i<allButtonslength;i++){

allButtons[i]addActionListener(this);

}

clearButtonaddActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

CalculatorthisjtfsetText("");

}

});

}

//事件处理

public void actionPerformed(ActionEvent e) {

//在这里完成事件处理  使计算器可以运行

String action=egetActionCommand();

if(action=="+"||action=="-"||action==""||action=="/"){

}

}

public void setFontAndColor(){

Font f=new Font("宋体",FontBOLD,24);

jtfsetFont(f);

jtfsetBackground(new Color(0x8f,0xa0,0xfb));

for(int i=0;i<16;i++){

allButtons[i]setFont(f);

allButtons[i]setForeground(ColorRED);

}

}

public void showMe(){

init();

setFontAndColor();

jfpack();

jfsetVisible(true);

jfsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

public static void main(String[] args){

new Calculator()showMe();

}

}

首先点击eclipse左上角的File,打开找到Import,点击Improt,d出一个窗口,找到Android,打开,选中Existing android Code Into Workspace,然后点击下一步,又d出一个窗口,点击最上面的Browse,选择要导入的demo,然后点击Finish就可以了。

以上就是关于微信小程序 如何引入外部字体库iconfont的全部的内容,包括:微信小程序 如何引入外部字体库iconfont的、如何在小程序中使用template、微信小程序系列——拓展组件库weui的npm引入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10215295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存