微信小程序學習筆記 > 視圖與渲染

組件的基本使用
在 pages 文件里面新建一個 firstPage 的文件夾 在該文件下建一個 first.wxml 的文件 copy過來的組件放在這里面 例如我 copy 過來一個 button 組件

<button type="default"  hover-class="other-button-hover"> default </button>
<button type="primary" bindtap="btnClick">{{ btnText }} </button>
<text> {{ text }}</text>

在 firstPage 這個文件下建一個 first.js 的文件 首先需要 Page 初始化一下 然后在
data 里面學數據

 data: {
        text: "我是曹操",
        btnText: '我是按鈕',
    },

數據的綁定
用 bindtap 把 button 綁定了一個點擊事件

<button type="primary" bindtap="btnClick">{{ btnText }} </button>

點擊的時候通過 setData 可以動態改變 first.js 下 data 里面的值


    btnClick: function () {

        this.setData({ text: '這是新的內容'})

    },

渲染標簽
渲染標簽有三種方式 wx:if / wx:else / wx:for


<!--數據綁定用插值表達式-->
<view wx:if='{{ show}}'> {{ text }} 1 </view>
<view wx:else> {{ text }} 2 </view>

first.js 里面 data 是這樣寫的

   data: {
        show : true,
    },

    btnClick: function () {

        var isShow = this.data.show;

        this.setData({  show:!isShow })

    },

<!--循環標簽的使用-->

<view wx:for="{{ news }}" wx:for-item='itemx'>

<!--可以通過wx:for-item='itemx' 修改 item 這個固定的單詞-->
 {{ index }}----{{ itemx }}

 </view>

first.js 里面 data 是這樣寫的

   data: {
        news : ['a','b','c']
    },

    btnClick: function () {

        const newsData = this.data.news;

        newsData.shift()

        this.setData({ news:newsData })

    },

模板的使用

在 Pages 下面新建一個 templates 的文件目錄 在該目錄下 新建兩個文件分別是
footer.wxml 和 header.wxml 我在 header 的文件下面寫

<text>

我是頭部組件...

</text>

我在 footer 文件里面寫

<template name='footer1'>

    我是底部內容1--{{ text }}
</template>>

<template name='footer2'>

<!--給模板動態設置數據-->


我是底部內容2 --{{ text }}

</template>

我想使用 header 文件里面的內容
使用方法如下

在 first.wxml 文件里面引入進來方可使用


<!--include 的作用相當于 copy 了一份進來 -->


<include src='../templates/header'/>

但是如果面對 footer 文件里面帶有 template 標簽的內容需要換另一種引入方式那就是 import 方法

依然是在 first.wxml 文件里面引入

<import src='../templates/footer'/>

<!--還需要設置要顯示的模板-->

<template is='footer2' data="{{ text: '我是動態添加的內容...'}}" />

data 的這種方式可以動態添加模板里面的數據 
 數據是雙向的

這是微信小程序簡易入門官方文檔
https://mp.weixin.qq.com/debug/wxadoc/dev/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容