微信小程序如何引用外部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 相关文章推荐
jquery offset函数应用实例
Nov 14 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
浅析如何利用angular结合translate为项目实现国际化
Dec 08 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 Javascript
VUE页面中加载外部HTML的示例代码
Sep 20 Javascript
JavaScript防止全局变量污染的方法总结
Aug 02 Javascript
详解JavaScript的数据类型以及数据类型的转换
Apr 20 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
Sep 20 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
Feb 12 Javascript
vue中利用iscroll.js解决pc端滚动问题
Feb 15 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
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
再说AutoComplete自动补全之实现原理
2011/11/05 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
angular.bind使用心得
2015/10/26 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
Node.js的进程管理的深入理解
2019/01/09 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
python实现的希尔排序算法实例
2015/07/01 Python
python下载图片实现方法(超简单)
2017/07/21 Python
用Python实现数据的透视表的方法
2018/11/16 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
工程部主管岗位职责
2013/11/17 职场文书
行政助理岗位职责范文
2013/12/03 职场文书
学校党员对照检查材料
2014/08/28 职场文书
学用政策心得体会
2014/09/10 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
网络研修心得体会
2016/01/08 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
Python import模块的缓存问题解决方案
2021/06/02 Python
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL
volatile保证可见性及重排序方法
2022/08/05 Java/Android
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript