1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 微信小程序学习实录1(wxml文档 引入weui 双向数据绑定 提交表单到后端)

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

时间:2019-02-06 08:37:53

相关推荐

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

微信小程序学习实录

一、wxml文档二、新建页面快捷方式三、微信小程序引入weui四、双向数据绑定1.wxml渲染层2.js逻辑层 提交表单到后端五、微信小程序跳转到H5

一、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 /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.valuethis.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=""></web-view>

@漏刻有时

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。