We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
工具是个好工具,但是我太菜了,我在这里写下我在使用过程中遇到的一些问题,方便跟我一样的菜鸟
首先model 和 store 的定义和使用: 只要exprot 的是new 实例,那import的都是同一个实例,由此可以达到全局data存储的功能
这个框架的store,model 其实没必要单独写一个model,大家可以把data,method全写在store里,作者给的贪吃蛇demo里,每次页面load后,都要init,其实就是把model里的data复制到store里,如果大家的微信小程序应用其实不考虑什么复用迁移平台,那么就不用多弄个model 辣鸡微信
这个框架的主要功能update 这个之前遇到一个问题,实际上是我自己不清楚update里的实现,直接想当然拿来就用,然后发现页面并没有更新 export function update(view, callback) { const patch = diffData(view.data, view._westorePrevData) view.setData(patch, callback) view._westorePrevData = clone(view.data) } 首先会比对历史数据和当前数据,得到更改后的数据再去调用微信的setData, 那么我不生效的原因就是在发送网络请求前修改了data后没有update,因为需要update存储一下历史值,不然update取的历史值不对,diff后的数据patch为空,那么自然没有setData更新视图
export function update(view, callback) { const patch = diffData(view.data, view._westorePrevData) view.setData(patch, callback) view._westorePrevData = clone(view.data) }
store的bind 贪吃蛇demo是在onload里store.bind(name, viewThis), 然后我看README.md里写的是可以省略name,直接bind(viewThis),然后我就这么写了,但是因为onload在每次页面加载都执行,bind不加name的情况就是westore内部用数组维护viewThis,然后update时遍历数组来update,但是这里没有根据页面来做去重覆盖,所以会每次进去页面调用bind时,那个数组列表就会越来越长。所以还是加名字bind来使用好点。
The text was updated successfully, but these errors were encountered:
总结的不错
Sorry, something went wrong.
你的确够菜的,这么菜的一个框架,你竟然用出了这么多问题
前端菜狗,第一次搞微信小程序
No branches or pull requests
工具是个好工具,但是我太菜了,我在这里写下我在使用过程中遇到的一些问题,方便跟我一样的菜鸟
首先model 和 store 的定义和使用:
只要exprot 的是new 实例,那import的都是同一个实例,由此可以达到全局data存储的功能
这个框架的store,model辣鸡微信其实没必要单独写一个model,大家可以把data,method全写在store里,作者给的贪吃蛇demo里,每次页面load后,都要init,其实就是把model里的data复制到store里,如果大家的微信小程序应用其实不考虑什么复用迁移平台,那么就不用多弄个model
这个框架的主要功能update
这个之前遇到一个问题,实际上是我自己不清楚update里的实现,直接想当然拿来就用,然后发现页面并没有更新
export function update(view, callback) { const patch = diffData(view.data, view._westorePrevData) view.setData(patch, callback) view._westorePrevData = clone(view.data) }
首先会比对历史数据和当前数据,得到更改后的数据再去调用微信的setData, 那么我不生效的原因就是在发送网络请求前修改了data后没有update,因为需要update存储一下历史值,不然update取的历史值不对,diff后的数据patch为空,那么自然没有setData更新视图
store的bind
贪吃蛇demo是在onload里store.bind(name, viewThis), 然后我看README.md里写的是可以省略name,直接bind(viewThis),然后我就这么写了,但是因为onload在每次页面加载都执行,bind不加name的情况就是westore内部用数组维护viewThis,然后update时遍历数组来update,但是这里没有根据页面来做去重覆盖,所以会每次进去页面调用bind时,那个数组列表就会越来越长。所以还是加名字bind来使用好点。
The text was updated successfully, but these errors were encountered: