layui lay-href不能成功跳转页面

2020-07-17  本文已影响0人  沈晓斌

我们项目是jquery+layui组件库开发的,由于今年项目产品变动, 增加了很多跳转页面的需求,所以选择了lay-href来实现,简单讲下遇到的不能正确跳转的几个坑:

1、在跳转的js中需引入下面这段js,不然标签有lay-href属性也不能正常跳转

//标签页跳转方法

/** layuiAdmin.std-v1.0.0-beta7 LPPL License By http://www.layui.com/admin/ */

;layui.extend(

    {

        setter: "../static/script/layui/lib/setter",

        admin: "../static/script/layui/lib/admin",

        view: "../static/script/layui/lib/view"

    }

  ).define(["setter", "admin", "laytpl"], function (a) {

  var win = $(window).width();

  if(win < 1200){

    $(".header_nav").css( {"margin-left": "0px"});

  }

    var e = layui.setter,

        i = layui.element,

        n = layui.admin,

        t = n.tabsPage,

        laytpl = layui.laytpl,

        d = layui.view,

        l = function (a, e) {

            var d, l = u("#LAY_app_tabsheader>li"),

                o = a.replace(/(^http(s*):)|(\?[\s\S]*$)/g, "");

            l.each(function (e) {

                    var i = u(this), n = i.attr("lay-id");

                    n === a && (d = !0, t.index = e)

            }),e = e || "新标签页", d || (u(s).append(['<div class="layadmin-tabsbody-item layui-show">', '<iframe src="' + a + '" frameborder="0" class="layadmin-iframe"></iframe>', "</div>"].join("")), t.index = l.length, i.tabAdd(r, {

                title: "<span>" + e + "</span>",

                id: a,

                attr: o

            })), i.tabChange(r, a), n.tabsBodyChange(t.index, {url: a, text: e})

        }, s = "#LAY_app_body", r = "layadmin-layout-tabs", u = layui.$;

    u(window);

  });

2、lay-href的属性要设置在点击的a标签上,其他标签好像也不能正常跳转。

3、最近遇到一个bug,是表格中每一条数据右边有多个按钮操作,每个按钮有各自的id(根据本条数据id和遍历按钮下标组成唯一的id),跳转不同的页面,之前是好的,在给表格操作列添加fix:right属性之后,点击按钮不跳转了,经过排查发现fix:right属性会重新生成一个操作列,原来唯一的按钮id多了一份,所以根据id取的按钮是隐藏的操作列按钮,但是点击的是显示的操作列按钮,所以不跳转了,解决思路是取id的方法,想办法取到显示操作列的按钮

上一篇 下一篇

猜你喜欢

热点阅读