Data binding for small program development

Y2J
Release: 2017-05-18 13:47:50
Original
2035 people have browsed it

Data binding

The dynamic data in WXML comes from the data of the corresponding Page.

Simple binding

Data binding uses "Mustache" syntax (double curly brackets) to wrap variables and can be used on:

Content

<view> {{ message }} </view>
Page({
  data: {
    message: &#39;Hello MINA!&#39;
  }
})
Copy after login

ComponentProperties(need to be within double quotes)

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

Control properties(need to be within double quotes)

<view wx:
if
="{{condition}}"> </view>
Page({
  data: {
    condition: true
  }
})
Copy after login

Keywords (need to be within double quotes)

true: true of boolean type, representing true value.

false: false of boolean type, representing false value.

<checkbox checked="{{false}}"> </checkbox>
Copy after login

Special note: Do not write checked="false" directly. The calculation result is a string, which represents a true value after being converted into a boolean type.

Operation

Simple operations can be performed within {{}}. The following methods are supported:

Ternary operation

<view hidden="{{flag ? true : false}}"> Hidden </view>
Copy after login

Arithmetic operation

<view> {{a + b}} + {{c}} + d </view>
Page({
  data: {
    a: 1,
    b: 2,
    c: 3
  }
})
Copy after login

The content in view is3 + 3 + d

Logical judgment

<view wx:if="{{length > 5}}"> </view>
Copy after login

String operations

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

Data path operations

<view>{{
object
.
key
}} {{
array
[0]}}</view>
Page({  data: {
    object: {
      key: &#39;Hello &#39;
    },    array: [&#39;MINA&#39;]
  }
})
Copy after login

Composition

It can also be combined directly in Mustache to form a new object or array

array

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

finally combined into an array [0, 1 , 2, 3, 4]

Object

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

The final combined object is {for: 1, bar: 2}

Also Use the expansion operator... to expand an object

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

The final combined object is {a: 1, b: 2, c: 3, d: 4, e: 5}

If the key and value of the object are the same, it can also be expressed indirectly

<template is="objectCombine" data="{{foo, bar}}"></template>
Page({
  data: {
    foo: &#39;my-foo&#39;,
    bar: &#39;my-bar&#39;
  }
})
Copy after login

The final combined object is {foo: 'my-foo', bar: 'my-bar' }

Note: The above methods can be combined at will, but if there are variable names that are the same, the latter ones will overwrite the previous ones, such as the final combined object of

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

Is {a: 5, b: 3, c: 6}

[Related recommendations]

1. WeChat applet complete source code download

2. WeChat Mini Program Game Demo Select Different Color Blocks

3. WeChat Mini Program Demo: Carousel Image Transformation

The above is the detailed content of Data binding for small program development. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template