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

本文介绍了微信小程序的基础知识,包括wxml文档结构,如数据绑定、列表渲染和条件渲染;新建页面的快捷方式;引入weui组件库的方法;双向数据绑定在表单提交中的应用;以及如何从微信小程序中跳转到H5页面。
摘要由CSDN通过智能技术生成

一、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组件库效果:https://weui.io/
  • 下载weui:进入GitHub https://github.com/weui/weui-wxss/ 进入下载页面,点击下载按钮。在这里插入图片描述
  • 复制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>

@漏刻有时

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漏刻有时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值