|  | 
| 63 | 63 |  - [综合比较](#综合比较) | 
| 64 | 64 |  - [选型的个人看法](#选型的个人看法) | 
| 65 | 65 | - [mpvue](#mpvue) | 
| 66 |  | - - [框架原理](#框架原理) | 
| 67 |  | - - [mpvue-loader](#mpvue-loader) | 
| 68 |  | - - [compiler](#compiler) | 
| 69 |  | - - [runtime](#runtime) | 
| 70 |  | - - [Class和Style为什么暂不支持组件](#class和style为什么暂不支持组件) | 
| 71 |  | - - [分包加载](#分包加载) | 
|  | 66 | + - [框架原理](#框架原理) | 
|  | 67 | + - [mpvue-loader](#mpvue-loader) | 
|  | 68 | + - [compiler](#compiler) | 
|  | 69 | + - [runtime](#runtime) | 
|  | 70 | + - [Class和Style为什么暂不支持组件](#class和style为什么暂不支持组件) | 
|  | 71 | + - [分包加载](#分包加载) | 
|  | 72 | + - [问题与展望](#问题与展望) | 
| 72 | 73 | - [小程序-学习](#小程序-学习) | 
| 73 | 74 |  - [学习建议](#学习建议) | 
| 74 | 75 |  - [如何解决遇到的问题](#如何解决遇到的问题) | 
| @@ -1058,10 +1059,10 @@ Native组件层在 WebView 层之上。这目前带来了一些问题: | 
| 1058 | 1059 | 
 | 
| 1059 | 1060 | **避免不当使用 setData** | 
| 1060 | 1061 | 
 | 
| 1061 |  | -- 使用 data 在方法间共享数据,**可能增加 setData 传输的数据量。**。data 应仅包括与页面渲染相关的数据。 | 
| 1062 |  | -- 使用 setData 传输大量数据,**通讯耗时与数据正相关,页面更新延迟可能造成页面更新开销增加。**仅传输页面中发生变化的数据,使用 setData 的特殊 key 实现局部更新。 | 
| 1063 |  | -- 短时间内频繁调用 setData,**操作卡顿,交互延迟,阻塞通信,页面渲染延迟。**避免不必要的 setData,对连续的setData调用进行合并。 | 
| 1064 |  | -- 在后台页面进行 setData,**抢占前台页面的渲染资源。**页面切入后台后的 setData 调用,延迟到页面重新展示时执行。 | 
|  | 1062 | +- 使用 data 在方法间共享数据,**可能增加 setData 传输的数据量**。data 应仅包括与页面渲染相关的数据。 | 
|  | 1063 | +- 使用 setData 传输大量数据,**通讯耗时与数据正相关,页面更新延迟可能造成页面更新开销增加**。仅传输页面中发生变化的数据,使用 setData 的特殊 key 实现局部更新。 | 
|  | 1064 | +- 短时间内频繁调用 setData,**操作卡顿,交互延迟,阻塞通信,页面渲染延迟**。避免不必要的 setData,对连续的setData调用进行合并。 | 
|  | 1065 | +- 在后台页面进行 setData,**抢占前台页面的渲染资源**。页面切入后台后的 setData 调用,延迟到页面重新展示时执行。 | 
| 1065 | 1066 | 
 | 
| 1066 | 1067 |  | 
| 1067 | 1068 | 
 | 
| @@ -1165,7 +1166,7 @@ export default class Index extends wepy.page {} | 
| 1165 | 1166 | | 语法规范 | 小程序开发规范 | vue.js | 类vue.js | | 
| 1166 | 1167 | | 标签集合 | 小程序 | htm l + 小程序 | 小程序 | | 
| 1167 | 1168 | | 样式规范 | wxss | sass,less,postcss | sass,less,styus | | 
| 1168 |  | -| 组件化 | 无组件化机制 | vue规范 | 自定义组件规范 | | 
|  | 1169 | +| 组件化 | 基础库@2.2.3自定义组件 | vue规范 | 自定义组件规范 | | 
| 1169 | 1170 | | 多段复用 | 不可复用 | 支持h5 | 支持h5 | | 
| 1170 | 1171 | | 自动构建 | 无自动构建 | webpack | 框架内置 | | 
| 1171 | 1172 | | 上手成本 | 全新学习 | vue 学习 | vue 和 wepy | | 
| @@ -2304,6 +2305,21 @@ module.exports = { | 
| 2304 | 2305 | 
 | 
| 2305 | 2306 | ``` | 
| 2306 | 2307 |  | 
|  | 2308 | +## 问题与展望 | 
|  | 2309 | +技术的更新迭代是很快的,很多内容在写的时候还是这样。过了几天就发生了变化。又仔细看了小程序的文档,发现小程序原生开发深受vue影响啊,越来越像了。 | 
|  | 2310 | + | 
|  | 2311 | +希望mpvue能够使用`wx.nextTick`[链接](https://developers.weixin.qq.com/miniprogram/dev/api/custom-component.html#wxnexttickfunction),尝试来代替50毫秒 | 
|  | 2312 | + | 
|  | 2313 | +希望能够解决[使用脏检查优化每次更新数据时都会传输大量数据的问题, 解决删除回退, 列表忽然滚动到顶部等问题](https://github.com/Meituan-Dianping/mpvue/issues/639)。也许可以靠下面的自定义组件。 | 
|  | 2314 | + | 
|  | 2315 | +使用[自定义组件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/)代替template,这样可以解决诸如: | 
|  | 2316 | + | 
|  | 2317 | +- [组件根标签不能使用style和class](http://mpvue.com/mpvue/#_10) | 
|  | 2318 | +- [slot的各种问题](https://github.com/Meituan-Dianping/mpvue/issues?utf8=%E2%9C%93&q=slot) | 
|  | 2319 | +- [Slot(scoped 暂时还没做支持)](http://mpvue.com/mpvue/#vue_1) | 
|  | 2320 | +- setData的性能提升,因为官方说的:"在需要频繁更新的场景下,自定义组件的更新只在组件内部进行,不受页面其他部分内容复杂性影响。"。也就是说,组件内部的setData只会影响组件范围。这个和Vue就很像了,我觉得原理肯定是一致的。 | 
|  | 2321 | + | 
|  | 2322 | +在小程序完善了自定义组件之后,我现在的倾向变成了自搭或者网上找脚手架来工程化项目,使用诸如:NPM、PostCSS、pug、babel、ESLint、图片优化等功能。然后使用小程序原生开发的方式来开发,因为它做的越来越好,越来越像vue了。 | 
| 2307 | 2323 |  | 
| 2308 | 2324 |  | 
| 2309 | 2325 | # 小程序-学习 | 
| @@ -2378,7 +2394,6 @@ module.exports = { | 
| 2378 | 2394 |  | 
| 2379 | 2395 | 祝大家开发愉快! | 
| 2380 | 2396 |  | 
| 2381 |  | - | 
| 2382 | 2397 | # 参考链接 | 
| 2383 | 2398 |  | 
| 2384 | 2399 | 以上内容部分来自: | 
|  | 
0 commit comments