其它优化细节

1. wx.request 接收参数修改

点这里查看官方文档

  1. // 原生代码:
  2. wx.request({
  3. url: 'xxx',
  4. success: function (data) {
  5. console.log(data);
  6. }
  7. });
  8. // WePY 使用方式, 需要开启 Promise 支持,参考开发规范章节
  9. wepy.request('xxxx').then((d) => console.log(d));
  10. // async/await 的使用方式, 需要开启 Promise 和 async/await 支持,参考 WIKI
  11. async function request () {
  12. let d = await wepy.request('xxxxx');
  13. console.log(d);
  14. }

2. 优化事件参数传递

点这里查看官方文档

  1. // 原生的事件传参方式:
  2. <view data-id="{{index}}" data-title="wepy" data-other="otherparams" bindtap="tapName"> Click me! </view>
  3. Page({
  4. tapName: function (event) {
  5. console.log(event.currentTarget.dataset.id)// output: 1
  6. console.log(event.currentTarget.dataset.title)// output: wepy
  7. console.log(event.currentTarget.dataset.other)// output: otherparams
  8. }
  9. });
  10. // WePY 1.1.8以后的版本,只允许传string。
  11. <view @tap="tapName({{index}}, 'wepy', 'otherparams')"> Click me! </view>
  12. methods: {
  13. tapName (id, title, other, event) {
  14. console.log(id, title, other)// output: 1, wepy, otherparams
  15. }
  16. }

3. 改变数据绑定方式

保留setData方法,但不建议使用setData执行绑定,修复传入undefined的bug,并且修改入参支持:
this.setData(target, value)
this.setData(object)

点这里查看官方文档

  1. // 原生代码:
  2. <view> {{ message }} </view>
  3. onLoad: function () {
  4. this.setData({message: 'hello world'});
  5. }
  6. // WePY
  7. <view> {{ message }} </view>
  8. onLoad () {
  9. this.message = 'hello world';
  10. }

4. 组件代替模板和模块

点这里查看官方文档

  1. // 原生代码:
  2. <!-- item.wxml -->
  3. <template name="item">
  4. <text>{{text}}</text>
  5. </template>
  6. <!-- index.wxml -->
  7. <import src="item.wxml"/>
  8. <template is="item" data="{{text: 'forbar'}}"/>
  9. <!-- index.js -->
  10. var item = require('item.js')
  11. // WePY
  12. <!-- /components/item.wpy -->
  13. <text>{{text}}</text>
  14. <!-- index.wpy -->
  15. <template>
  16. <com></com>
  17. </template>
  18. <script>
  19. import wepy from 'wepy';
  20. import Item from '../components/item';
  21. export default class Index extends wepy.page {
  22. components = { com: Item }
  23. }
  24. </script>