我们项目是jquery+layui组件库开发的,由于今年项目产品变动, 增加了很多跳转页面的需求,所以选择了lay-href来实现,简单讲下遇到的不能正确跳转的几个坑:
1、在跳转的js中需引入下面这段js,不然标签有lay-href属性也不能正常跳转
//标签页跳转方法
/** -v1.0.0-beta7 LPPL License By /admin/ */
;(
{
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
$(".header_nav").css( {"margin-left": "0px"});
}
var e = ,
i = ,
n = ,
t = ,
laytpl = ,
d = ,
l = function (a, e) {
var d, l = u("#LAY_app_tabsheader>li"),
o = (/(^http(s*):)|(\?[\s\S]*$)/g, "");
(function (e) {
var i = u(this), n = ("lay-id");
n === a && (d = !0, = e)
}),e = e || "新标签页", d || (u(s).append(['
title: "" + e + "",
id: a,
attr: o
})), (r, a), (, {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的方法,想办法取到显示操作列的按钮