微信小程序如何引用外部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实现瀑布流展现照片(自动适应窗口大小)
Apr 08 Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 Javascript
Javascript call和apply区别及使用方法
Nov 14 Javascript
JavaScript事件委托用法分析
Jan 24 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
javascript高级编程之函数表达式 递归和闭包函数
Nov 29 Javascript
jQuery 跨域访问解决原理案例详解
Jul 09 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
Sep 19 Javascript
AnglarJs中的上拉加载实现代码
Feb 08 Javascript
快速了解Node中的Stream流是什么
Feb 13 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读取文件内容后清空文件示例代码
2014/03/18 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php递归创建目录的方法
2015/02/02 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
Python Tkinter GUI编程入门介绍
2015/03/10 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Sublime开发python程序的示例代码
2018/01/24 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
班组长安全生产职责
2013/12/16 职场文书
安全生产实施方案
2014/02/23 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
求职个人评价范文
2014/04/09 职场文书
活动倡议书范文
2014/05/13 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
Python sklearn分类决策树方法详解
2022/09/23 Python