微信小程序如何引用外部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 相关文章推荐
Prototype使用指南之form.js
Jan 10 Javascript
js 页面输出值
Nov 30 Javascript
一个原生的用户等级的进度条
Jul 03 Javascript
js实现页面转发功能示例代码
Aug 05 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
使用JavaScript链式编程实现模拟Jquery函数
Dec 21 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
Aug 09 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 Javascript
Vue插件打包与发布的方法示例
Aug 20 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
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
JavaScript函数详解
2014/11/17 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
Python编程之Re模块下的函数介绍
2017/10/28 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
python图像和办公文档处理总结
2019/05/28 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
Python底层封装实现方法详解
2020/01/22 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
企业消防安全制度
2014/02/02 职场文书
八项规定整改方案
2014/02/21 职场文书
小组名称和口号
2014/06/09 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
工商行政处罚决定书
2015/06/24 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL
介绍一下28个JS常用数组方法
2022/05/06 Javascript