微信小程序如何引用外部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 相关文章推荐
33种Javascript 表格排序控件收集
Dec 03 Javascript
jQuery队列操作方法实例
Jun 11 Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
Feb 25 Javascript
第一次接触JS require.js模块化工具
Apr 17 Javascript
JS简单实现禁止访问某个页面的方法
Sep 13 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
vue实现列表的添加点击
Dec 29 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
Oct 29 Javascript
vue实现图书管理系统
Dec 29 Vue.js
js正则匹配markdown里的图片标签的实现
Mar 24 Javascript
详解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
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
python之yield表达式学习
2014/09/02 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
Python中整数的缓存机制讲解
2019/02/16 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
中英文自我评价常用句型
2013/12/19 职场文书
房屋委托书范本
2014/04/04 职场文书
安全协议书范本
2014/04/21 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
优秀团员事迹材料
2014/12/25 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang
vue实现拖拽交换位置
2022/04/07 Vue.js
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js