小程序模板網(wǎng)

小程序如何寫動態(tài)標(biāo)簽

發(fā)布時間:2020-05-22 10:02 所屬欄目:小程序開發(fā)教程

web開發(fā)中,尤其使用react開發(fā)項(xiàng)目時,我們可以很方便的動態(tài)定義標(biāo)簽(jsx)

const props = {
  id: '',
  className: '',
  data-a: ''
}
<button {...props} />
復(fù)制代碼

動態(tài)配置標(biāo)簽的好處一是所有邏輯在JS端控制,二是使得我們的模板非常規(guī)范,方便后續(xù)維護(hù)更新,碎片模板可以很好的控制,三是我們可以根據(jù)使用場景很方便的配置props的屬性,這樣在html結(jié)構(gòu)輸出的時候能夠得到比較干凈的結(jié)構(gòu)

在小程序的開發(fā)中,卻不能實(shí)現(xiàn)類似的功能,導(dǎo)致我們的動態(tài)標(biāo)簽通常非常的冗余,多余的屬性全部展示在結(jié)構(gòu)生成后

以button為例,我們知道button在小程序中有非常多的屬性

如上所示,這里只是列舉了一部分的屬性

動態(tài)模板

我們的button動態(tài)模板寫下來應(yīng)該是這樣的

配置

Page({
  data: {
    option: {
      ...
    }
  }
})
復(fù)制代碼
<button
  size="{{option.size || 'default'}}"
  type="{{option.type || 'default'}}"
  plain="{{option.plain || false}}"
  value="{{option.value || '按鈕'}}"
  ...
  ...
/>
復(fù)制代碼

調(diào)試工具的輸出結(jié)構(gòu)

<button bindtap='' size='' type='' plain='' disabled=false open-typ='' hover-class='' .... />
復(fù)制代碼

可以看到調(diào)試工具中輸出的結(jié)構(gòu)就會變得非常冗余,降低了開發(fā)效率,這種冗余的模板輸出搞久了會吐的好吧。

可以使用模板語法區(qū)分不同場景的button,我知道會有很多這樣的聲音,但那不是動態(tài)模板。

解決問題

那要如何解決輸出結(jié)構(gòu)不冗余呢,說了這么多終于到了重點(diǎn),其實(shí)真的只是一個很小的技巧,我的開發(fā)經(jīng)歷告訴我這是有效的,你也可以試試,將默認(rèn)值統(tǒng)統(tǒng)換成 '' ,改版后的模板如下

<button
  size="{{option.size || ''}}"
  type="{{option.type || ''}}"
  plain="{{option.plain || ''}}"
  value="{{option.value || '按鈕'}}"
  ...
  ...
/>
復(fù)制代碼

這時你得到的模板就是一段漂亮的結(jié)構(gòu)

<button value='按鈕' />
復(fù)制代碼


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/25259.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢