微信小程序学习实录1(wxml文档、引入weui、双向数据绑定、提交表单到后端)

简介: 微信小程序学习实录1(wxml文档、引入weui、双向数据绑定、提交表单到后端)

一、wxml文档

<!-- index.wxml -->
<view>
    <!-- 数据绑定 -->
    <view>
        <text>{{name}}</text>
        <text>{{ages}}</text>
    </view>
    <!-- 列表渲染 -->
    <view wx:for="{{user}}">
        <text>{{item['name']}}-{{item['ages']}}</text>
    </view>
    <!-- 条件渲染 -->
    <view wx:if="{{name == 'lockdatav'}}">
        <text>{{name}}</text>
    </view>
    <view wx:else>
        <text>Poleung</text>
    </view>
</view>


Page({
    data: {
        name: "lockdatav",
        ages: "23",
        arrData: [1, 2, 3, 4, 6],
        user: [{
            name: '001',
            ages: 23
        }, {
            name: '002',
            ages: 25
        }]
    }
})


wx:for

在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item


使用 wx:for-item 可以指定数组当前元素的变量名,

使用 wx:for-index 可以指定数组当前下标的变量名:


<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">
  {{idx}}: {{itemName.message}}
</view>

二、新建页面快捷方式

在app.json中,pages的默认为项目页面,第一个是默认的访问首页;在实际开发中,可以直接创建 "pages/btn/btn",保存,将自动创建对应的组件目录。


三、微信小程序引入weui

复制weui-wxss-master\dist\style\weui.wxss至项目根目录


  • 在app.wxss中引入@import 'weui.wxss';
  • 实时查看weui源码:打开“微信开发者工具”,选择“小程序” > “导入项目” > 名称,目录选择dist文件夹,填写AppID。 点击“导入”按钮,开始导入即可

四、双向数据绑定

微信小程序提交表单多个input输入框,通过一个bindinput方法实现双向数据绑定。

1.wxml渲染层

<view class="page-body">
    <view class="page-section">
        <view class="weui-cells__title">品名</view>
        <view class="weui-cells weui-cells_after-title">
            <view class="weui-cell weui-cell_input">
                <input class="content" value="{{baseInfo.goodsName}}" bindinput="bindKeyInput" data-params="goodsName"></input>
            </view>
        </view>
    </view>
    <view class="page-section">
        <view class="weui-cells__title">规格</view>
        <view class="weui-cells weui-cells_after-title">
            <view class="weui-cell weui-cell_input">
                <input class="weui-input" value="{{baseInfo.spec}}" bindinput="bindKeyInput" data-params="spec"></input>
            </view>
        </view>
    </view>
</view>
<view class="weui-cells__title" wx:if="{{baseInfo.goodsName != null}}">当前了录入信息:{{baseInfo.goodsName}} - {{baseInfo.spec}}
</view>


2.js逻辑层

在bindinput方法里通过e.currentTarget.dataset.params可字段键名,通过e.detail.value获取字段值。

    data: {
        baseInfo: {}
    },
    bindKeyInput(e) {
        this.data.baseInfo[`${e.currentTarget.dataset.params}`] = e.detail.value
        this.setData({
            baseInfo: this.data.baseInfo
        })
        //console.log(`baseInfo对象:`, this.data.baseInfo)
    },


提交表单到后端

  • post和get提交方式的区别
public function putUsers()
       {
        global $db, $res;
        dbc();
        @$user_title = $_POST['user_title'];
        @$user_name = $_POST['user_name'];
        @$user_phone = $_POST['user_phone'];
        @$user_time = time();
        if ($user_title == "" || $user_name == "" || $user_phone == "") {
            $res['code'] = 1;
            $res["msg"] = '非法访问参数';
            die(json_encode_lockdata($res));
        }
        $sql = " INSERT INTO " . $db->table('user') . " (user_name,user_phone,user_title,user_time) VALUES ('" . $user_name . "','" . $user_phone . "','" . $user_title . "','" . $user_time . "')";
        $db->query($sql);
        $res['code'] = 0;
        $res["msg"] = 'OK';
        die(json_encode_lockdata($res));
    }


五、微信小程序跳转到H5

<web-view src="https://test.com"></web-view>


@漏刻有时

相关文章
|
4月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
67 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
4月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
76 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
4月前
|
存储 数据管理 API
零代码能力:轻松搞定表单和API接口,少写80%后端代码,内含资源
小白接口(果创云 YesApi.cn)是一个零代码和低代码开发平台,提供一站式后端云服务,帮助开发者、学生、业余爱好者、工作室、中小企业及无IT技术人员的传统企业快速搭建应用、接口、服务和网站。平台提供500+免费API接口,支持在线API开发、在线表单、数据库管理、图片文件存储、会员管理等功能,无需后端开发经验,轻松实现数据处理和应用开发。
|
5月前
|
JSON 小程序 前端开发
towxml的使用,在微信小程序中快速将markdown格式渲染为wxml文本
本文介绍了在微信小程序中使用`towxml`库将Markdown格式文本渲染为WXML的方法。文章提供了`towxml`的概述、安装步骤、以及如何在小程序中配置和使用`towxml`进行Markdown解析的详细说明和代码示例。
|
5月前
|
小程序 JavaScript
微信小程序学习之数据绑定,事件绑定,事件传参与数据同步的学习记录
本文介绍了微信小程序中的数据绑定、事件绑定、事件传参与数据同步的基本概念和使用方法,包括如何在data对象中定义数据、使用mustache语法在wxml中渲染数据、绑定和处理事件、事件对象属性、事件传参以及实现输入框与data数据的同步。
微信小程序学习之数据绑定,事件绑定,事件传参与数据同步的学习记录
|
6月前
|
JSON 前端开发 API
Django 后端架构开发:通用表单视图、组件对接、验证机制和组件开发
Django 后端架构开发:通用表单视图、组件对接、验证机制和组件开发
82 2
|
6月前
|
小程序 JavaScript 前端开发
微信小程序开发时数据是否是双向数据绑定的
微信小程序开发时数据是否是双向数据绑定的
|
6月前
|
Java 数据库连接 mybatis
后端框架的学习----mybatis框架(9、多对一处理和一对多处理)
这篇文章介绍了在MyBatis框架中如何处理多对一和一对多的关联查询,通过定义`<resultMap>`和使用`<association>`与`<collection>`元素来实现对象间的关联映射。
|
6月前
|
Java 数据库连接 测试技术
后端框架的学习----mybatis框架(8、lombok)
这篇文章介绍了如何在MyBatis框架中使用lombok库来简化Java实体类的编写,包括在IDEA中安装Lombok插件、在项目中导入lombok依赖以及在实体类上使用Lombok提供的注解。
|
6月前
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
158 0
go语言后端开发学习(六) ——基于雪花算法生成用户ID