微信小程序-更加简洁的{{ ... }}语法

简介: 微信小程序可有意思了

刚才在写案例的时候突然发现,微信小程序中的{ {}}语法用于数据绑定和插值,在使用过程中确实非常方便和强大,我觉得其抄袭于vue,高于vue。

体会如下:

  1. 数据绑定:{ {}}可以将 JavaScript 中的数据绑定到 wxml 文件中。比如,你可以将页面中的变量、对象属性、函数返回值等动态地展示在视图中。
// .js 文件
Page({
   
  data: {
   
    message: 'Hello, World!',
    count: 10,
    person: {
   
      name: 'Alice',
      age: 25
    }
  }
})
<!-- .wxml 文件 -->
<view>{
  {message}}</view>
<view>计数:{
  {count}}</view>
<view>姓名:{
  {person.name}},年龄:{
  {person.age}}</view>
  1. 表达式计算: 在{ {}}中,你可以进行简单的数学运算、字符串拼接、逻辑运算等操作,方便地处理数据。
<view>计算结果:{
  {10 + 5}}</view>
<view>{
  {"Hello, " + "World!"}}</view>
<view>{
  {count > 0 ? '大于零' : '小于等于零'}}</view>
  1. 函数调用: 你可以在{ {}}中直接调用函数,并将其返回值展示在视图中。
// .js 文件
Page({
   
  data: {
   
    name: 'Alice'
  },
  getGreeting: function() {
   
    return 'Hello, ' + this.data.name + '!';
  }
})
<!-- .wxml 文件 -->
<view>{
  {getGreeting()}}</view>
  1. 条件渲染和循环渲染:{ {}}语法还可以用于条件渲染和循环渲染,根据表达式的值来控制元素是否显示或重复渲染。

如下,通过 wx:if 和 wx:else 可以根据条件来判断元素是否渲染,而 wx:for 则可以根据数组的长度来重复渲染元素。

<view wx:if="{
    {count > 0}}">计数大于零</view>
<view wx:else>计数小于等于零</view>

<view wx:for="{
    {products}}">
  <text>{
  {item.name}}</text>
  <text>{
  {item.price}}元</text>
</view>

微信小程序中的{ {}}语法结合了数据绑定、表达式计算、函数调用以及条件渲染和循环渲染等功能,使得在前端开发中操作数据和展示内容变得非常方便。

那这前面不就和vue一样吗?没看见区别呀?我们继续,我们回忆,我们当时写vue来绑定属性的时候,我们是不是觉得代码有点。。。。(冗余),微信小程序解决了它。

微信小程序中{ {}}语法在绑定样式时比 Vue 更加方便的地方,确实是一项重要的优点。

在微信小程序中,可以直接在 style 属性中使用{ {}}语法来动态绑定样式。这种方式相对于 Vue 的 v-bind:style 更加简洁和直观,减少了一些冗余的代码。

<view style="color: {
      {
      textColor}};">Hello, World!</view>

上述代码中,我们使用{ {textColor}}来绑定文本的颜色,使得文本的颜色可以根据变量 textColor 的值进行动态设置。

而在 Vue2 中,需要使用 v-bind:style 或者简写为 :style 来绑定动态样式,需要将样式属性作为一个对象进行传递。

<template>
  <div :style="{
       color: textColor }">Hello, World!</div>
</template>

虽然 Vue 的方式也能实现样式的动态绑定,但是相对于微信小程序的语法,它可能显得稍显繁琐。总的来说,微信小程序中的{ {}}语法在绑定样式方面的简洁和直观性是其与 Vue 在语法上的一个重要区别。

目录
相关文章
|
8月前
|
小程序 JavaScript
【微信小程序】-- WXML 模板语法 - 事件绑定 -- tap & input (十)
【微信小程序】-- WXML 模板语法 - 事件绑定 -- tap & input (十)
|
8月前
|
小程序 容器
【微信小程序】-- WXML 模板语法 - 条件渲染 -- wx:if & hidden (十一)
【微信小程序】-- WXML 模板语法 - 条件渲染 -- wx:if & hidden (十一)
|
8月前
|
小程序 JavaScript
【微信小程序】-- WXML 模板语法 - 数据绑定(九)
【微信小程序】-- WXML 模板语法 - 数据绑定(九)
|
8月前
|
移动开发 小程序 JavaScript
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
767 0
|
5月前
|
小程序 JavaScript 前端开发
微信小程序开发必备前置知识:基本代码构成与语法
【8月更文挑战第8天】微信小程序的基本代码构成与语法
130 0
微信小程序开发必备前置知识:基本代码构成与语法
|
8月前
|
JSON 小程序 搜索推荐
【微信小程序】-- 模板语法与配置的总结(二十一)
【微信小程序】-- 模板语法与配置的总结(二十一)
|
8月前
|
小程序 JavaScript 索引
【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for & wx:key(十二)
【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for & wx:key(十二)
|
3月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
783 7
|
3月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
794 1
|
3月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
187 7