双向数据绑定
在 WXML 中,普通属性的绑定是单向的,例如:
1<input value="{{ num }}" />
如果使用 this.setData
来更新 num
,num
和输入框的中显示的值都会被更新为值。但如果用户修改了输入框里的值,却不会同时改变 data
中的 num
。
基本类型的数据绑定
如果需要在用户输入的同时也将 data
中的数据修改 ,需要借助简易双向绑定机制。此时可以在对应项目之前加入 model:
前缀即可,例如:
1<view>
2 <input type="text" model:value="{{val}}" />
3 <text>{{val}}</text>
4</view>
5
6Page({
7 data: {
8 val:'init data'
9 }
10})
引用类型的数据绑定
通过value配合事件实现
1<view>
2 <input type="text" value="{{val}}" bindinput="inp" />
3 <text>{{val}}</text>
4</view>
5
6Page({
7 data: {
8 val:'init data'
9 },
10 inp(e){
11 this.setData({
12 val:e.detail.value
13 })
14 }
15})
-
form表单提交
- 给表单组件加
name
- 给button按钮加
form-type
- 给form组件加
bindsubmit
1<form bindsubmit="login" bindreset="reset">
2 <view>
3 账号:
4 <input type="text" name="username" placeholder="账号" />
5 </view>
6 <view>
7 密码:
8 <input name="pwd" type="text" password placeholder="密码" />
9 </view>
10 <button type="primary" form-type="submit">登录</button>
11 <button type="warn" form-type="reset">重置</button>
12</form>