layuiAdmin 常见问题与解决方案

单页版缓存问题

由于单页面版本的视图文件和静态资源模块都是动态加载的,所以可能存在浏览器的本地缓存问题,事实上我们也考虑到这个,因此,为了避免改动后的文件未及时生效,你只需在入口页面(默认为start/index.html)中,找到 layui.config ,修改其 version 的值即可。

我们推荐你分场景来更新缓存:

  • 场景一:如果项目是在本地开发。你可以设置 version 为动态毫秒数,如:
version: new Date().getTime() //这样你每次刷新页面,都会更新一次缓存

  • 场景二:如果项目是在线上运行。建议你手工更新 version,如:
version: '1.0.0' //每次发布项目时,跟着改动下该属性值即可更新静态资源的缓存

动态模板中的 select 正确用法

当你试图用动态模板输出 <select>元素 的 <option></option> 时,务必注意不要将动态模板结构放在 select 内部,而应该将 select 整体放在动态模板内,然后在遍历输出 option,如:

<script type="text/html" lay-url="" template>
  <select name="" lay-filter="">
    {{# layui.each(d, function(index, item){ }}
      <option value="{{ item.value }}">{{ item.title }}</option>
    {{# }); }}
  </select>
</script>

由于 select 标签的特殊性,很多同学将 <script type="text/html" lay-url="" template> </script> 放在了 select 标签的里面,导致无法正确输出相应视图,所以请务必纠正写法。

刷新动态模板

如果需要对一个已经渲染完毕的动态模板再次进行刷新,可以借助 view 模块的 refresh 方法。方法如下:

<script type="text/html" id="testID" template lay-url="" lay-data="" lay-done="">
  <div lay-templateid="testID">  <!-- 注意:此处 lay-templateid 属性值需要与模版定义的 ID 值一致  -->
    内容放此处
  </div>
</script>

然后在需要执行模版刷新的地方执行:

view('testID').refresh();

即可完成刷新。

设置 table 的 token

尽管 admin.req() 方法会自动传递 token,但 layui 中涉及到接口请求的公共组件(如:table、upload)并不走 admin.req(),这时就需要你获取本地存储的 token 赋值给接口参数,方式如下:

  • 方式一:设置单个 table 实例的 token
//设置单个 table 实例的请求 token
table.render({
  elem: '#xxxx'
  ,url: 'url'
  ,headers: { //通过 request 头传递
    access_token: layui.data('layuiAdmin').access_token
  }
  ,where: { //通过参数传递
    access_token: layui.data('layuiAdmin').access_token
  }
});
  • 方式二:设置全局 table 实例的 token(推荐
//所有 table 实例均会有效,这样就不用在每个 table.render() 都设置一次 token
table.set({
  headers: { //通过 request 头传递
    access_token: layui.data('layuiAdmin').access_token
  }
  ,where: { //通过参数传递
    access_token: layui.data('layuiAdmin').access_token
  }
});

注意

  • 一般情况,结合你的实际需求,headers 和 where 二者中设置一个即可。
  • 这里 access_token 的命名对应 config.js 定义的 tokenName 的值
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值