微信小程序如何引用外部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 相关文章推荐
filemanage功能中用到的lib.js
Apr 08 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
Jquery Ajax的Get方式时需要注意URL地方
Apr 07 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
May 11 Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Dec 14 Javascript
JS图片压缩(pc端和移动端都适用)
Jan 12 Javascript
浅谈JavaScript的innerWidth与innerHeight
Oct 12 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
Dec 28 Javascript
vue-router中的hash和history两种模式的区别
Jul 17 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
Aug 16 Javascript
Js中使用正则表达式验证输入是否有特殊字符
Sep 07 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
德劲1103二次变频版的打磨
2021/03/02 无线电
php使用codebase生成随机数
2014/03/25 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
JS实现放烟花效果
2020/03/10 Javascript
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
公务员年总结的自我评价
2013/10/25 职场文书
电大毕业生自我鉴定
2013/11/10 职场文书
毕业生就业协议书
2014/04/11 职场文书
村创先争优活动总结
2014/08/28 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
月考总结与反思
2015/10/22 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
详解Python中的for循环
2022/04/30 Python
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL
GPU服务器的多用户配置方法
2022/07/07 Servers