微信小程序如何引用外部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 PeriodicalExecuter对象 学习
Jul 19 Javascript
js中的前绑定和后绑定详解
Aug 01 Javascript
js对象基础实例分析
Jan 13 Javascript
JS中的phototype详解
Feb 04 Javascript
JavaScript对象引用与赋值实例详解
Mar 15 Javascript
jQuery实现div跟随鼠标移动
Aug 20 jQuery
JavaScript数组去重的多种方法(四种)
Sep 19 Javascript
工作中常用到的ES6语法
Sep 04 Javascript
checkbox在vue中的用法小结
Nov 13 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 Javascript
原生javascript自定义input[type=radio]效果示例
Aug 27 Javascript
js简单的分页器插件代码实例
Sep 11 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会话处理的10个函数
2015/08/11 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
JQuery 常用操作代码
2010/03/14 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
使用webpack构建应用的方法步骤
2019/03/04 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
利用d3.js实现蜂巢图表带动画效果
2019/09/03 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
python 识别图片中的文字信息方法
2018/05/10 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
python颜色随机生成器的实例代码
2020/01/10 Python
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
幼儿教师个人求职信范文
2013/09/21 职场文书
女子职高个人自荐书
2014/02/01 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
李白故里导游词
2015/02/12 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python