小程序引用外部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> <view> <text>This is template.wxml文件,我是一个模板</text> </view> </template>
然后我们书写我们所要调用template的页面index.wxml
<!--index.wxml--> <!-- 声明需要使用的模板文件 --> <import src ="https://www.jb51.net/template/template.wxml"/> <template is="msgItem"/>
2、带参数
首先,修改template.wxml文件,我们给模板添加三个字段,修改后代码如下
<template> <view> <text>This is template.wxml文件,我是一个模板</text> <view> <text> {{index}}: {{msg1}} </text> <text> {{msg2}} </text> </view> </view> </template>
接下来我们在index.wxml中传递模板中所需要的三个参数,修改后的代码如下:
<!--index.wxml--> <!-- 声明需要使用的模板文件 --> <import src ="https://www.jb51.net/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 ="https://www.jb51.net/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> <view> <text> name: {{name}} </text> <text> age: {{age}}</text> </view> </template>
4、调用不同的模板
有时候,我们有这样的需求,那就是同一个列表中,item数据不同,可能他的样式也是有很大的区别,所以我们使用的模板也会对应不相同,接下来我们就来实现这样需求的小Demo:
首先修改了一下template.wxml,原本该文件中只有一个template,现在我们创建了两个,新增的template仅仅多了一行代码,当然了实际开发中,需求会比这个难很多,在这里只是为了实现Demo。
<!--template.wxml--> <template> <view> <text> name: {{name}} </text> <text> age: {{age}}</text> </view> </template> <template> <view> <text> name: {{name}} </text> <text> age: {{age}}</text> <text>我是一个未成年</text>> </view> </template>
接下来我们在index.wxml中通过age字段调用不同的模板:
<!--index.wxml--> <!-- 声明需要使用的模板文件 --> <import src ="https://www.jb51.net/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>