微信小程序如何引用外部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写的日历(代码部分网摘)
Sep 20 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
jQuery验证插件validate使用方法详解
Sep 13 Javascript
JavaScript中 this 指向问题深度解析
Feb 21 Javascript
手把手搭建安装基于windows的Vue.js运行环境
Jun 12 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 Javascript
react项目如何使用iconfont的方法步骤
Mar 13 Javascript
小程序使用wxs解决wxml保留2位小数问题
Dec 13 Javascript
vue3.0实现点击切换验证码(组件)及校验
Nov 18 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
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
node.js超时timeout详解
2014/11/26 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
Vue实现购物车详情页面的方法
2019/08/20 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python中的lambda表达式用法详解
2016/06/22 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
Python for循环生成列表的实例
2018/06/15 Python
Python Celery多队列配置代码实例
2019/11/22 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
《放飞蜻蜓》教学反思
2014/04/27 职场文书
2014年工程工作总结
2014/11/25 职场文书
个人年终总结怎么写
2015/03/09 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers