小程序数据绑定的问题
发布于 5 年前 作者 jiesu 6860 次浏览 来自 问答

我想实现类似双向数据绑定的效果,但是小程序是典型的单向数据绑定,于是在手动加了一层绑定,然后发现卡顿明显,比如:

1,有一个input

<input value={{n}} bindinput="changeN">

我在changeN中用将输入的值赋值给n,一旦输入过快,会出现卡顿现象

2,比如有一个scroll,我要实现点击按钮滚动到顶部的效果

<scroll-view scroll-top="{{y}}" bindscroll="changeY"></scroll-view>

我在滚动时,也将当前的scroll-top赋值给y,这下就更蛋疼了,滚动条开始瞎跳。

我这两个例子的思路或者写法可能存在严重的错误,所以我想问下大家碰到这种问题是怎么解决的

3 回复

可以曲线救国,第一个例子中,可以事先定义两个变量,n和nView,nView是用来和视图层绑定的,

<input value={{nView}} bindinput="changeN">

changeN中改变n的值,然后在具体需求中的特定地方如果需要改变视图,就再把n的值赋值给nView,nView = n,来改变视图层

小程序做不到双向数据绑定,所以才会出现你例子中的表现。

也就是说,如果你这样可行的话,小程序底层就可以实现双向绑定了。

回到顶部