{{}} 在vue和小程序中的区别?
01 小程序中{{}}和vue中的{{}}用法基本一致,可以显示data中的数据,可以写表达式
不一样的地方?
01 小程序的{{}}可以写在属性中
02 小程序的{{}}不能使用方法的调用
微信小程序中的 wx:key
01 wx:for 可以遍历数组中的数据
02 wx:for 一定要指定wx:key,不然会报一个警告
03 wx:key 的值有两种方式
如果遍历的值是一个对象,wx:key可以是对象中某一个唯一的属性 。
如果数组中的值是一个字符串,wx:可以指定为*this, *this表示字符串本身。
在微信小程序中注册事件分为两种
bind+事件: bind注册的事件会冒泡
catch+事件: catch注册的事件不会冒泡
在方法中如何放到data中的数据?
大坑:在微信小程序中的数据,数据不是双向绑定
data中的数据发生了改变,视图中的数据并没有跟着改变
直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
方法一
data: {
msg:"hellow 小程序"
},
change(){
this.setData({
msg:‘哈哈哈‘ //要修改的参数和值
})
}
通过 this.setData({ }) 方式进行修改,可以实现双向绑定
方法二
data: {
msg:"hellow 小程序"
},
change(){
// 修改msg的值
this.data.msg="你好啊"
// 需要进行一次同步
this.setData(this.data)
}
如何获取input文本框的值?
01通过e.detail.value
02如果注册事件的时候,想要传递参数,给当前元素添加自定义属,通过e.currentTaget.dataset来获取值。
js中的data中发生了改变,页面中的数据并不会改变,调用setData同步才行
input框中的值发生了改变,js中的数据并不会跟着变,自己注册事件,自己修改data中的数据。微信小程序中不支持双向绑定
原文:https://www.cnblogs.com/javascript9527/p/11440499.html