Hide

Hide

370飞吻 2017-6-12 加入 来自ShanHai

(这个人懒得留下签名)

Hide 最近的回答

  • 9小时前table在ios下,若列数太多则后面的所有列都没有边框了中回答:

  • 9小时前table在ios下,若列数太多则后面的所有列都没有边框了中回答:

    自己挑一个吧,都不错,都有用到过一些

    http://alloyteam.github.io/

    http://m.sui.taobao.org/

    https://weui.io/

    http://aui.dianm.cc/

    http://dev.dcloud.net.cn/mui/
  • 9小时前table在ios下,若列数太多则后面的所有列都没有边框了中回答:

    说实话,我宁愿将移动端和PC端分开做,一套做的话,为了兼容2者,反而得不偿失,移动端优秀的框架太多了
  • 9小时前layui.use后用function函数返回模块对象失败中回答:

    亲爱的新人朋友们,请按键F12打浏览器开发者工具,并将控制台错误完整的截图贴出来,以避免我们瞎猜
  • 9小时前layui中文乱码中回答:

    编码问题,解决的方式很多种
    1.第一种就是引用的时候格式化编码,采用UTF-8
    2.第二种就是将文件采用记事本打开,另存为UTF-8格式

    如果你layui官方下载,没有做过其他的操作的话,我怀疑可能你JSP编码不对,可以将JSP使用记事本打开,另存为UTF-8格式


  • 12小时前layer Iframe 传值设计模式(在下献丑了)中回答:

    talk is cheap,show me the code。用代码说话,好的代码设计大家自然接受,光打嘴炮,理论又空洞,没有实质性的东西的别来。
  • 12小时前layer Iframe 传值设计模式(在下献丑了)中回答:

    @sadkilo 慢走不送
  • 13小时前layer Iframe 传值设计模式(在下献丑了)中回答:

    ①技术上的通用性
    首先, iframeData不局限于 layer, 只要用到iframe且不出现跨域的情况, 都适用
    而你的方案, 必须要用layer
    ②业务上的通用性
    举例有一个业务场景
    A-->B-->C(A打开B,B又可以打开C)
    如果业务上需要, A传值给B, 而A 又需要传值给C;
    这时候, 你的方案, 使用上就很不便, 由于你的是点对点的传值, 所以 iframe的层级不同, 用户就要额外针对情况编写代码
    而iframeData, 由于用了top作为中间层, 所以业务上,是全场景通用的
    总结, 在通用性上, iframeData完胜
    我觉得你说的太绝对,太片面了
    ①技术上的通用性
    首先, iframeData不局限于 layer, 只要用到iframe且不出现跨域的情况 这半句我认同
    但是我的方案, 必须要用layer,这句恐怕你的描述存在偏差,首先既然我用了layui为前端框架,那么我窗口操作用的layer组件肯定是没问题的,但是如果你说就是不想用layer,当然没问题,你看我核心封装代码,似乎跟layer没关系吧,childframe.postInData=postData,这样的写法都是通用的,原生的写法。父传子,完全没问题吧。子传父,那么关闭窗口函数回调 backData传值,也没任何问题,换了任何一个框架都适用,我之前的框架没使用任何layui框架以及组件,就是这套传值模式,没任何问题,也出现弹窗组件混用的情况也没出现问题

    ②业务上的通用性
    我这边的系统 A->B->C、D->D、E、F->E、F,再多的窗口也没问题,首先是通过2个页面直接交互,传值安全性保障,而且没有任何不便




    相反的,你的设计模式,A打开了B,B打开了C,操作完了C(C窗口已经关闭),这个时候点击B右上角的X,相当于取消了本次所有操作,但是你A缓存着C操作后的记录,这样就是一个非常严重的bug,性能姑且不提。

    第二, 你说的如果后续我要更新layui或layer怎么办?
    好,这个完全可以给你一个完美的解释:我是这么做仅仅提高了风险,不代表你的0风险,凡是layer有方法,传参方式、名称等发生了改变,意味着着原先用到layer的页面都会报错。
    使用旧版和我修改版的,升级后都有巨大的风险,比如旧版升级风险80%,我修改后的旧版风险率85%,结果都是死路一条。

    谈论学术的问题建议不要夹杂个人感情,分享自己的设计本来就是让别人来指出自己的不足以便改进的,不仅是提高自己,还让其他使用者看到新的设计思路。但是你这个iframeData完胜,我的方案基本可以淘汰的话倒是真的看不出来完胜在哪个地方,不过可能在你业务场景比较适用我倒是可以理解。所谓仁者见仁智者见智吗,其他layui使用者这看到2套方案对比,自然会有自己心目中的选择。

  • 16小时前layui.table 当加载完成后会随机地跳转到 “login.php”中回答:

    @生活要有仪式感 尝试搜索 login,别搜login.php,也许 login.php通过字符串拼接的,看看会不会这样的可能性,搜索整个解决方案
  • 16小时前动态获取自定义值一直返回underfined中回答:

    说实话,你这代码质量有点差....,还有你传的值不给我看下,我真不知道你写的对还是错。

    我先按自己瞎猜的给你代码重新改写,要是猜的不对莫怪,以下为改写后的代码


  • 16小时前layui.table 当加载完成后会随机地跳转到 “login.php”中回答:

    @生活要有仪式感 查看下,有没有config.js, loginCheck:true //是否要强制检查登录状态,loginPage:login.php,意思就是检查当前用户是否登录,如果身份失效了就跳转到配置页面的登录页里面
  • 16小时前layer Iframe 传值设计模式(在下献丑了)中回答:

    @sadkilo
    (之前2019-8-16优化版忘记更新,现在上述已经更新)

    不得不说你提供的确实是一种方法,之前私聊贤心,他的回答也正是你这种设计模式,但是我之所以没有采取这样的设计是因为以下原因,请看以下分析:

    1.每个页面交互,你都将数据缓存在顶级窗口的全局变量 ['_CACHE']中 ,虽然说是数据集中管理,但是每次交互导致顶级窗口数据越来越大,消耗的内存越来越多,且不会被自动回收,性能会降低

    2.你在实现的时候,为了避免获取数据紊乱,从而提高代码的复杂性如(刻意避免被重复,设计的时候就考虑了要 以后传值 页面编号,方法编号)
    iframeData("page001-methed1",data)
    iframeData("page001-methed2",data)
    iframeData("page002-methed1",data)
    iframeData("page002-methed2",data)

    3.设计理念可能有点跟我的需求有点不符,b与c交互,数据从却要从a拿


    4.对比我的设计模式,优缺点分析(你提供的设计模式以下我简称方案A,我的设计模式以下我简称方案B):
    ⑴. 侵入性对比:方案A获胜
    方案A(未修改源码),方案B(修改了2处layer.js的源代码,提高layui升级风险性)
    ⑵.其他需配置复杂性:方案A微胜
    方案A(定义了一个全局函数 iframeData)
    方案B(定义了一个全局变量postInData,封装openDialog函数仅为降低原生layer的配置复杂性,即使不封装此函数也可以使用,毫无影响)

    ⑶.性能对比:方案B微胜
    方案A(每传值回调都将持续增大内存消耗,所有页面的交互信息都存储在顶级窗口cache中)
    方案B (仅单次会话传值回调,结束后内存会被释放)

    ⑷.规范性、方便性、数据可靠性:方案B获胜
    方案A(通过iframeData函数传值,页面交互都要从顶级窗口再次拿值)
    =》数据可靠性:
    如通过b页面打开c页面,选择了一个数据 并通过iframeData函数取得回调值进行回调操作,但是又打开了一次c页面,然后直接点击右上方的x关闭了窗口取消了本次操作,这样可能导致iframeData函数取值还是原先的数据,又执行了一次操作,而实际第二次并未选择任何数据,这样导致获取到的数据不可靠,可能为缓存数据(当然了,也可以通过额外判断来分辨,但是 b和c交互却要通过a来拿数据可靠性肯定不如 b与c直接交互数据可靠)

    =》规范性:一般(传参需编号页面、方法,否则可能覆盖顶级窗口数据)
    =》方便性:取值、传值 一般


    方案B(配置化传值、回调)
    =》规范性:规范(通过配置化传参、回调)
    =》方便性:data 传参、回调函数 end 获取backData
    =》数据可靠性:data 传参、回调函数 end 获取backData,页面直接交互,没有中间商赚差价



    综上所述:在某些场景下方案A更适用,在规范性、安全可靠性 方案B更通用
  • 1天前layUI 怎么判断页面是否在iframe内中回答:

    top!=self
  • 1天前input框值怎么清空中回答:

    @梦中de你 而且要button使用默认的重置效果,是要外层套一个form的,reset是重置父级(以及祖父级以上)form,


    <form>
    <div><button type="reset">重置</button></div>
    </form>
  • 1天前input框值怎么清空中回答:

    @梦中de你 你不觉得你的jQuery写法少了个#吗

    $("#hospitalName")
  • 2天前lay-verify校验疑问中回答:

    @ZeroFlyingBird 我上面的正则表达式是用来验证通过的情况的,你要是要修改源码应该按照以下代码
    number:function(value)
    {
    if(!(/^[0-9]*$/.test(value))){
    return "只能填写数字";
    }
    }
  • 2天前lay-verify校验疑问中回答:

    算是吧,你可以改下源码
    1.如果number可为空,/^[0-9]*$/.test(value)
    2.如果number不可为空,/^[0-9]+$/.test(value)
  • 2天前layuiAdmin的文档要不要再敷衍一点中回答:

    暴躁老哥,在线怼人[哈哈]
  • 4天前分页改成英文中回答:

    @flyer305550 F12查看laypage的源码,这样才是定位问题的所在
  • 4天前分页改成英文中回答:


    首先排除上述刚才源码修改的问题,步骤肯定对的

    你F12查看当前加载出来的laypage,对比下是不是最新的,不是的话就说明有js缓存
  • 4天前分页改成英文中回答:

    @flyer305550
    方式一: Ctrl+F5 刷新页面
    方式二:
  • 4天前数据表格后台报错前台页面不走回调中回答:

    楼上说的正确,报错的方式有2种
    1.进入后台方法,从而报错
    2.还未进入后台就报错

    解答:
    1.如果你已经进了后台,那么最外层套个try catch,无论是否正确获取到数据,返回的参数对就行,这样就一定会走ajax成功的方法



    2.既然你还未进后台就报错的,说明你传值方式类型有问题,这种情况应该解决你的配置情况

  • 4天前分页改成英文中回答:


    当然了,你如果想配置化传参,可以这么修改laypage源码,这样你怎么开心怎么传

    这样就相当于laypage组件新增了3个参数
    1.Wto ---文字 “到第”
    2.Wpage --文字 “页”
    3.Wconfirm --文字 “确定”
  • 4天前分页改成英文中回答:


    嗯,就这么简单
  • 4天前分页改成英文中回答:



    多读下官方文档,难道它不香吗?[哈欠]
  • 5天前常用的事件封装接口中回答:

    mark一下,应该非常厉害的样子,不如赞我一下,万一你火了可以带我上前排[哈哈]
  • 5天前layui.close刷新问题中回答:

    layer.open({
    end:function(){
    table.reload('table-id');
    }
    });
    回调函数里面写具体的函数,而不是像楼上说的子页面直接执行父页面的函数
  • 5天前有没有layui 表单验证的优化版插件或者其他的中回答:

    @super彬 嗯,这个我之前也发现了,不过默认是弹窗模式,而且还有几处不友好,没有发现合适的轮子,我就造了适合自己的轮子,我已经基于form封装了validate组件
    1.优化提示
    2.对于优化了原有的验证模式(如:email)可为空值,如需必填,配合require一起使用




  • 6天前垃圾东西,早点倒闭吧中回答:

    第一,再次仔细阅读文档,是否自己使用不对?
    第二,作为开发人员,查看源码的以及调试的能力我想你应该具备
    第三,如果确实是layui的问题,你可以按以下方式解决
    1.自己动手写一个表单验证的组件 (假设你不具备此能力请看第二条)
    2.尝试修改框架部分源码,以便满足你的需求 (假设你不具备此能力请看第三条)
    3.使用第三方插件

    第四,layui 设计模式是不错的,而且旗下的laydate,layer都还不错,虽然其他组件以及官方文档确实比起市场上面的一些架构,文档 要薄弱很多,但是话又说回来,这个框架一个人完成,其他框架是由一个团队完成,没有可比性,很多东西都是在不断的完善中,我个人觉得贤心已经做得挺不错,毕竟一个人的精力有限

    第五,作为一名软件开发者,起码文化修养能达到中上等,你一没有提建设性意见,只会口吐芬芳,我猜你一定是垃圾培训机构出来的废物,IT行业已经被你们这些废物污染了很多[弱] ,你行你上莫比比,写个比他牛叉的框架,不爽就别用,只有废物才张口闭口芬芳而没有一点解决问题的基本功
  • 7天前表单验证问题,在没有设置required的情况下也会自己校验中回答:

    @kx88 require仅仅是验证非空的没什么不对,你不写的话它就不去验证这项,你不能站在自己的角度,假如你是架构师,你会怎么设计?让我写,我还是会写这样的,完全没问题。