威望0
积分7946
贡献0
在线时间763 小时
UID1
注册时间2021-4-14
最后登录2024-11-21
管理员
- UID
- 1
- 威望
- 0
- 积分
- 7946
- 贡献
- 0
- 注册时间
- 2021-4-14
- 最后登录
- 2024-11-21
- 在线时间
- 763 小时
|
因为前端用vue习惯了,vue中有很多特性让开发变得十分方便。如v-mode实现数据的双向绑定。虽然小程序中没有自带的数据双向绑定,但利用bindinput、bindchange也能实现数据双向绑定。
案例:
效果展示:
输入值前
输入值后
源码
wxml
[mw_shl_code=applescript,true]<view>
<form>
<view>
<label>用户名:{{user.uname}}</label>
<input name="uname"
bindinput="bindInput"
type="text" placeholder="请输入用户名"
data-item="uname"
/>
</view>
<view>
<label>年龄:{{user.age}}</label>
<input type="text" placeholder="请输入年龄" bindinput="bindInput" data-item="age" />
</view>
<view>
<label>性别:{{user.sex}}</label>
<radio-group bind data-item="sex" bindchange="bindInput">
<radio value="男">男</radio>
<radio value="女">女</radio>
</radio-group>
</view>
<view>
<button form-type="submit" type="primary">提交</button>
</view>
</form>
</view>
[/mw_shl_code]
js
[mw_shl_code=applescript,true]data: {
user:{
uname:'',
age:'',
sex:''
}
},
bindInput: function(e){
let item=e.currentTarget.dataset.item; //在每个input绑定不同的item作为标识
const user=this.data.user
user[item]=e.detail.value //对象的属性名称是动态判定时,通过方括号标记访问
this.setData({
user
})
},
[/mw_shl_code] |
上一篇:秒懂JS的this指向问题下一篇:我在CSDN发表原创文章,被别人拿去发了一篇北大核心
|