Pengikatan Data Program Mini WeChat


Pengikatan data

Data dinamik dalam WXML berasal daripada data Halaman yang sepadan.

Simple binding

Data binding menggunakan sintaks "Mustache" (double braces) untuk membalut pembolehubah, yang boleh digunakan pada:

Content

<view> {{ message }} </view>
Page({
  data: {
    message: 'Hello MINA!'
  }
})

Atribut komponen (perlu berada dalam petikan berganda)

attributControlnerreee berada dalam petikan berganda)

<view id="item-{{id}}"> </view>
Page({
  data: {
    id: 0
  }
})

Kata kunci (perlu dalam petikan berganda)

benar: benar bagi jenis boolean, mewakili nilai sebenar. true:boolean 类型的 true,代表真值。

false: boolean 类型的 false,代表假值。

<view wx:if="{{condition}}"> </view>

特别注意:不要直接写 checked="false",其计算结果是一个字符串,转成 boolean 类型后代表真值。


运算

可以在{{}}内进行简单的运算,支持的有如下几种方式:

三元运算

Page({
  data: {
    condition: true
  }
})

算数运算

<checkbox checked="{{false}}"> </checkbox>
<view hidden="{{flag ? true : false}}"> Hidden </view>

view中的内容为3 + 3 + d

逻辑判断

<view> {{a + b}} + {{c}} + d </view>

字符串运算

Page({
  data: {
    a: 1,
    b: 2,
    c: 3
  }
})
<view wx:if="{{length > 5}}"> </view>

数据路径运算

<view>{{"hello" + name}}</view>
Page({
  data:{
    name:"MINA"
  }
})

组合

也可以在Mustache内直接进行组合,构成新的对象或者数组

数组

<view>{{object.key}} {{array[0]}}</view>
Page({  data: {
    object: {
      key: 'Hello '
    },    array: ['MINA']
  }
})

最终组合成数组[0, 1, 2, 3, 4]

对象

<view wx:for-items="{{[zero, 1, 2, 3, 4]}}"> {{item}} </view>
Page({
  data: {
    zero: 0
  }
})

最终组合成的对象是{for: 1, bar: 2}

也可以用扩展运算符...来将一个对象展开

<template is="objectCombine" data="{{for: a, bar: b}}"></template>
Page({
  data: {
    a: 1,
    b: 2
  }
})

最终组合成的对象是{a: 1, b: 2, c: 3, d: 4, e: 5}

如果对象的key和value相同,也可以间接地表达

<template is="objectCombine" data="{{...obj1, ...obj2, e: 5}}"></template>
Page({
  data: {
    obj1: {
      a: 1,
      b: 2
    },
    obj2: {
      c: 3,
      d: 4
    }
  }
})

最终组合成的对象是{foo: 'my-foo', bar:'my-bar'}

注意:上述方式可以随意组合,但是如有存在变量名相同的情况,后边的会覆盖前面,如

<template is="objectCombine" data="{{foo, bar}}"></template>
Page({
  data: {
    foo: 'my-foo',
    bar: 'my-bar'
  }
})

最终组合成的对象是{a: 5, b: 3, c: 6}

false: palsu jenis boolean, mewakili nilai palsu. 🎜
<template is="objectCombine" data="{{...obj1, ...obj2, a, c: 6}}"></template>
🎜Nota istimewa: Jangan tulis checked="false" secara langsung Hasil pengiraan ialah rentetan, yang akan ditukar kepada jenis boolean untuk mewakili nilai sebenar. 🎜

Operation🎜🎜 boleh melakukan operasi mudah dalam {{}} Kaedah berikut disokong: :🎜< h2 id="operasi ternari">operasi ternari🎜
Page({
  data: {
    obj1: {
      a: 1,
      b: 2
    },
    obj2: {
      b: 3,
      c: 4
    },
    a: 5
  }
})

operasi aritmetik🎜rrreeerrreee🎜Kandungan dalam paparan ialah 3 + 3 + d🎜< h2 id="Logik judgment">Penghakiman logik🎜rrreee

String operation🎜rrreeerrreee🎜

Data path operation

rrreeerrreee