微信小程序如何引用外部js,外部样式,公共页面模板


Posted in Javascript onJuly 23, 2019

小程序引用外部js

//封装的函数
function GetUserInfo2018() {
 console.log("获取用户信息8888")
}
 
function count(str) {
 console.log(str)
}
 
//转化成小程序模板语言 这一步非常重要 不然无法正确调用
module.exports = {
 GetUserInfo2018: GetUserInfo2018,
 count: count
};
 
/*其它页面调用
 var common = require("../common/common.js");
 common.GetUserInfo2018();
 common.count("hehe");
*/

小程序引用外部css

/*
app.wxss是全局样式,作用于每一个页面,
而page下的每一个的wxss文件只作用于当前页面,并对全局样式中的相同属性会覆盖 
*/
@import "../../app.wxss";
/**index.wxss**/
.userinfo {
 display: flex;
 flex-direction: column;
 align-items: center;
}
 
.userinfo-avatar {
 width: 128rpx;
 height: 128rpx;
 margin: 20rpx;
 border-radius: 20%;
}
 
.userinfo-nickname {
 color: #aaa;
}
 
.usermotto {
 margin-top: 200px;
}

小程序引用公共页面

1、不带参数

首先在pages文件夹中新建一个template文件夹,文件夹中新建一个template.wxml文件,代码如下

<!--template.wxml-->
<template name="msgItem">
 <view>
  <text>This is template.wxml文件,我是一个模板</text>
 </view>
</template>

然后我们书写我们所要调用template的页面index.wxml

<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->
<import src ="../template/template.wxml"/>
<template is="msgItem"/>

2、带参数

首先,修改template.wxml文件,我们给模板添加三个字段,修改后代码如下

<template name="msgItem">
 <view>
  <text>This is template.wxml文件,我是一个模板</text>
  <view>
   <text> {{index}}: {{msg1}} </text>
   <text> {{msg2}} </text>
  </view>
 </view>
</template>

接下来我们在index.wxml中传递模板中所需要的三个参数,修改后的代码如下:

<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->
<import src ="../template/template.wxml"/>
<view>This is index.wxml</view>
<template is="msgItem" data="{{index:1,msg1:'msg1数据',msg2:'msg2数据'}}"/>

3、列表item模板

接下来我们就通过一种常见的情况列表数据来使用模板,增加对模板的认知,直接上修改过的代码:

//index.js
Page({
 data: {
  list:[
   { name: '张三', age: 15 },
   { name: '李四', age: 25 },
   { name: '王五', age: 18 },
   { name: '赵六', age: 19 },
  ]
 }
})
<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->
<import src ="../template/template.wxml"/>
<view>This is index.wxml</view>
<view wx:for="{{list}}">
  <template is="msgItem" data="{{name:item.name,age:item.age}}"/>
</view>
<!--template.wxml-->
<template name="msgItem">
 <view>
  <text> name: {{name}} </text>
  <text> age: {{age}}</text>
 </view>
</template>

4、调用不同的模板

有时候,我们有这样的需求,那就是同一个列表中,item数据不同,可能他的样式也是有很大的区别,所以我们使用的模板也会对应不相同,接下来我们就来实现这样需求的小Demo:

首先修改了一下template.wxml,原本该文件中只有一个template,现在我们创建了两个,新增的template仅仅多了一行代码,当然了实际开发中,需求会比这个难很多,在这里只是为了实现Demo。

<!--template.wxml-->
<template name="msgItem">
 <view class="template_style">
  <text> name: {{name}} </text>
  <text class="template_age_style"> age: {{age}}</text>
 </view>
</template>
<template name="msgItem2">
 <view class="template_style">
  <text> name: {{name}} </text>
  <text class="template_age_style"> age: {{age}}</text>
  <text>我是一个未成年</text>>
 </view>
</template>

接下来我们在index.wxml中通过age字段调用不同的模板:

<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->
<import src ="../template/template.wxml"/>
<view>This is index.wxml</view>
<view wx:for="{{list}}">
  <template is="{{item.age >= 18 ? 'msgItem' : 'msgItem2'}}" data="{{name:item.name,age:item.age}}"/>
</view>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 Javascript
JQuery对表格进行操作的常用技巧总结
Apr 23 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
最常见和最有用的字符串相关的方法详解
Feb 06 Javascript
jsonp跨域请求详解
Jul 13 Javascript
angular4实现tab栏切换的方法示例
Oct 21 Javascript
JS数组求和的常用方法实例小结
Jan 07 Javascript
Node.js EventEmmitter事件监听器用法实例分析
Jan 07 Javascript
vue slot与传参实例代码讲解
Apr 28 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
微信小程序全选多选效果实现代码解析
Jan 21 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 Vue.js
详解Vue中的基本语法和常用指令
Jul 23 #Javascript
js如何获取访问IP、地区、当前操作浏览器
Jul 23 #Javascript
node.js express框架简介与实现
Jul 23 #Javascript
js微信分享接口调用详解
Jul 23 #Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
Jul 23 #Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 #Javascript
微信小程序 网络通信实现详解
Jul 23 #Javascript
You might like
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
php邮箱地址正则表达式验证
2015/11/13 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
原生javascript实现隔行换色
2015/01/04 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
ES6对象操作实例详解
2020/05/23 Javascript
python创建和删除目录的方法
2015/04/29 Python
Python实现二分查找与bisect模块详解
2017/01/13 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python线程池threadpool使用篇
2018/04/27 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
详解python tkinter 图片插入问题
2020/09/03 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
应届毕业生求职信范例分享
2013/12/17 职场文书
八年级历史教学反思
2014/01/10 职场文书
后进生转化工作制度
2014/01/17 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
劳动模范获奖感言
2015/07/31 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL