微信小程序如何引用外部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 与NVelocity 产生冲突的解决方法
Jun 13 Javascript
JavaScript中使用Math.floor()方法对数字取整
Jun 15 Javascript
javascript实现数组中的内容随机输出
Aug 11 Javascript
几句话带你理解JS中的this、闭包、原型链
Sep 26 Javascript
Vue组件开发初探
Feb 14 Javascript
js获取隐藏元素的宽高
Feb 24 Javascript
jquery中有哪些api jQuery主要API
Nov 20 jQuery
vue+elementUi图片上传组件使用详解
Aug 20 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
Dec 23 Javascript
vuex存取值和映射函数使用说明
Jul 24 Javascript
vue中实现弹出层动画效果的示例代码
Sep 25 Javascript
vscode自定义vue模板的实现
Jan 27 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
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
微信小程序异步处理详解
2017/11/10 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
js实现点击生成随机div
2020/01/16 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
python3.0 字典key排序
2008/12/24 Python
pygame实现飞机大战
2020/03/11 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
scrapy处理python爬虫调度详解
2020/11/23 Python
学生保证书范文
2014/04/28 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
超市创业计划书
2014/09/15 职场文书
小学运动会报道稿
2014/10/04 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
2015年实习单位评语
2015/03/25 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
浅谈Python数学建模之整数规划
2021/06/23 Python