小程序开发--伪双向绑定

这篇帖子写给刚接触小程序的新手,希望在数据绑定方面给大家一点灵感,也欢迎大家积极的探讨更好的双向绑定思路。

废话不多说,先上代码吧

//小程序提供的事件比较匮乏,也可能是我文档看的比较糙,在输入方面,主要的两种情况如下
//一类是bindchange,一类是bindtap
<radio-group data-set='sex' bindchange='bindtap'>
    <label class='radio' wx:for='{{genders}}'>
        <radio value='{{item.name}}' checked='{{item.checked}}' />{{item.value}}
    </label>
</radio-group>

<checkbox data-set='bxy' bindtap='bindtap'></checkbox>
//通过给元素绑定一个data-set值,表明要修改的字段。


//两类事件获取最新值的方式存在一点差异。
//先取到要修改的key,再通过type判断根据哪种方式获取value
//通过setData方式更新数据,底层会把最新的数据渲染到视图。
//在大表单和数据关联复杂时,这种方式可以大大节省时间。
bindtap: function (e) {
        var key = e.currentTarget.dataset.set;
        if (e.type == 'tap') {
            var obj = {};
            obj['form.' + key] = !this.data.form[key];
            this.setData(obj);
        }
        if (e.type == 'change') {
            var obj = {};
            obj['form.' + key] = e.detail.value;
            this.setData(obj);
        }
    }

可以基于data自定义属性的方式,抽离封装更加通用的赋值函数,放在app.js中,全局引用。
最后基于 小程序5层页面限制,有设计或者实际开发经验丰富的小哥哥,小姐姐有好的navigateTo or redirectTo原则吗?
操作流程中navigateTo和redirectTo如何取舍会比较好呢?
【【手动萌萌哒】】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,299评论 4 61
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,148评论 18 399
  • 你在黑暗中独行 你在孤独中彷徨 看不清前方的路 记不的来时的方向 满身风雨你从哪里来 脚步蹒跚你要往哪里去 是6月...
    沧海云烟阅读 1,800评论 0 1
  • 如果 你是那位 在雨天中 曾经悄悄用雨伞为我遮下雨的 那位姑娘 如果 你是那位 在一次路遇中 不小心撞上我 又说了...
    力牧阅读 1,007评论 0 0