1、为何在mui中直接调用函数
$.ready(function() {
// setTimeout(function() {
$($.classSelector('.slider')).slider();
$($.classSelector('.scroll-wrapper.slider-indicator.segmented-control')).scroll({
scrollY: false,
scrollX: true,
indicators: false,
snap: $.classSelector('.control-item')
});
// }, 500); //临时处理slider宽度计算不正确的问题(初步确认是scrollbar导致的)
});
如上代码,mui中总是直接调用函数,这样做我觉得有3点问题:
- 效率问题:mui中调用的函数很多都是我不需要的,浪费资源。
- 可读性:相对于阅读文档,我更喜欢直接阅读代码,阅读代码可以更精准、更详细的获得我所需要的信息(前提是代码具有一定可读性),但是在mui中调用函数使得阅读代码变的麻烦,我无法知晓实现页面效果调用了哪些函数,无法迅速找到我需要的函数。
- 不灵活:很多时候编写程序都是使用ajax加载数据,再转换为html,然后调用函数,实现效果,但是在mui中直接调用有时会出现html转换完成,就执行函数,导致函数出错(理论上不会出现这种情况但我确实碰到过)。
2、样式名称重复使用
mui中很多样式被使用在效果中,如mui-slider就被使用在轮播、下拉刷新、选项卡中,这么做可能是考虑到代码的复用,但是我觉得得不偿失。
首先代码的复用我觉得应该是js代码的复用,而不应该是样式的复用。现在的做法是将样式和js绑定,复用样式则复用js,某一个样式,某一个结构可以实现一种效果,这种的做法样式与js绑定的比较死(代码耦合),这样结构太复杂了,代码很难看懂,样式名称也没法见名知意。而且样式应该负责的是展现显示,现在为了js使用这么多样式,有点本没倒置。
3、使用样式定义函数配置
个人觉得使用js配置函数的方法更好,更方便。
4、对象的销毁
如果使用了对象,应该在mui.back中销毁对象,实际应用中基本是每次打开页面都要重新获得数据。(mui的demo数据居然是固定死的,实际应用中不太可能出现这样的情况,官方的demo应该更贴近实际,不然对开发指导作用不大)
2 个回复
__raymond - https://segmentfault.com/u/_raymond
赞同!
9***@qq.com
赞同!