开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情
顺便复习一下微信小程序其它小的知识点。
调用wx对象的路由接口实现页面切换
- wx.navigateTo(option)同navigate属性值,option有一个属性event,可以获得两个页面之间通信的数据
wx.redirectTo(option)wx.switchTab(option)wx.reLaunch(option)wx.navigateBack(option)
以上每一个方法的参数对象,都有如下属性:
url:‘’跳转到的页面路径
success:function(){}接口调用成功的回调函数
fail:function(){}接口调用失败的回调函数
complete:(){}接口调用结束后的回调,不管跳转成功、还是失败
视图层 View
框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。
将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。
WXML(WeiXin Markup language) 用于描述页面的结构。
WXS(WeiXin Script) 是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
WXSS(WeiXin Style Sheet) 用于描述页面的样式。
组件(Component)是视图的基本组成单元。
wxml语法
数据绑定:WXML中的动态数据均来自对应的page的data。
使用{{}}进行数据绑定 ,同时在{{}}还可以写表达式,以及在属性值中绑定数据,也需要在双引号中使用{{}}
wx:for的使用
wx:for-index=""给数组索引起别名wx:for-item=""给数组元素起别名- 给元素设置
key值时,直接写id就可以,不需要写item.id,或者写*this,*this代表以数组的每一项元素为索引。 - 如果
wx:for="hello"的话,会把hello转成字符串数组; - 注意
{{}}不能和""之间有空格
wx:for="{{array}} "//这里不能有空格
<block>可以把好几个标记放在一起,作为一部分,相当于vue里的template
<block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。
<block>
<view>aaa</view>
<view>bbb</view>
</block>
wx:if="{{show}}"的使用 等同于v-if={{show}}
<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>
hidden="{{show}}" 等同于v-show={{show}}
<template>的使用
<template name="myTem">
<view>hello</view>
<view>world</view>
</template>
<template is="myTem" data="{{arr:stuList}}"></template>
data的值必须是一个对象形式
import只能引入<template>生成的模板
- 引入模板
<import src="/pages/index/index.wxml"/> - 调用
<template is="myTem" data="{{arr:[1,2,3,4]}}">不可以跨层级使用模板,必须谁想用谁就要引入
include用来引入除了模板以外的代码
- 用法:
<include src="/pages/home/home.wxml">,这样的话,当前页面就会有home页面的内容
下面这张图是ind_son.wxml文件里的模板代码
下面这张图是引入了上面ind_son.wxml的模板stu,并进行了使用
关于<template>模板的使用写的可能比较墨迹,但是希望对大家能有所帮助。