实际上这一部分涉及到小程序的模块组合
第一部分 wxss
wxss因为有全局的app.wxss的存在,所以我暂时只知道一个@import形式的引入
我在外部定义了css文件下写了一个another.wxss的文件
- 外部链接的内容
- .red{
- color: red;
- }
引入
- /* pages/page2/page2.wxss */
- /* 引入外部的样式 */
- @import"../../css/anthor.wxss"
使用
<view class="red">这行字应该是红色view>
确实是红色
第二部分 wxs
我看来这就是个模块化使用的js文件,通过module.expose的方式暴露,里面可以写你的函数或者变量,具体和js是一样的,但是不支持es6的写法
1.输出变量
- //1.wxs
- module.exports.name="huanfeng"
-
- //2.wxs
- var sex="男"
- var age=18
- module.exports={
- sex:sex,
- age:age
- }
2.require引入
- // 使用require在wxs中实现对其他wxs模块的访问
- var name=require("./1.wxs")
- var obj=require("./2.wxs")
- // 这里我要拼接出一个字符串
- module.exports.msg="我是"+name.name+",老子是"+obj.sex+"的,我今年"+obj.age+"岁"
-
- //我在这个tool.wxs当中对两个文件中的变量进行引入,并拼接成了字符串
3.在wxml的模板上进行使用
- <wxs module="tool" src="./wxs/tool.wxs"/>
- <view>{{tool.msg}}view>
这里的tool就变成了wxs导出的对象名
第三部分 wxml的模板和和引入
1.
这个标签类似于react当中的Fragment,相当于把一段html变成一个整体
- <block wx:for="{{2}}">
- <view>爸爸view>
- <view>儿砸view>
- block>
上面的写法就能让中间的部分循环两次
2.
这个标签涉及到两种引入
1.定义
直接创建个新文件夹,然后把你的模板创建在wxml之中就行,实例如下
- <template name="template1">
- <view>我是{{name}}view>
- <view>我今年{{age}}岁view>
- template>
2.渲染
渲染之前要在wxml的主页面使用import引入,然后灌输进去数据
- <import src="../../template/template1" />
- <template is="template1" data="{{...infor}}" />
-
- 数据部分
- data:{
- infor:{
- name:"asan",
- age:19
- }
- }
3.动态渲染
动态渲染需要按照条件进行判断,这里使用的是官网的例子
- //两个模板
- <template name="odd">
- <view> odd view>
- template>
- <template name="even">
- <view> even view>
- template>
-
- //主wxml页面
- <block wx:for="{{[1, 2, 3, 4, 5]}}">
- <template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/>
- block>
- 这几形成了一个判断,但是data注入的数据应该是相同的
这里也应该可以使用wx:if进行条件判断从而注入不同的数据,虽然说我没有实践,比如是一下这个样子
- //主页面
- <import src="./template1">
- <import src="./template2">
-
- <template wx:if="{{flag>0}}" is="template1" data={{...data1}}/>
- <template wx:else is="template2" data={{...data2}}/>
此外这些传入的数据不只可以来自于data,还可以来自于上文提到的wxs模块
注意一下这个import是不支持嵌套的,也就是这个引用的模板里面不能再套模板
4.include的引入
这个是模板的另外一种引入方式,可以将目标文件除了 template/wxs 外的整个代码引入,但是只是wxml的内容,js就别想了,只能套静态html,其他都不行
- <include src="header.wxml"/>
- <view> body view>
- <include src="footer.wxml"/>
第四部分 组件
组件相比较上面的一些引入可以说是有血有肉了,这一部分的内容我决定放在下一篇文章中。