laytpl语法_浅谈laytpl 模板空值显示null的解决方法及简单的js表达式

浅谈laytpl 模板空值显示null的解决方法及简单的js表达式

laytpl 模板语法

{{ d.field }} 输出一个普通字段,不转义html 官方的说明 但d.field 为空时会显示null

laytpl 模板 空值显示null的解决方法

{{d.giftName}} 模板中当giftName为空是 页面上会显示 null 字符串

1可以在模板中直接使用三目表达式来判断字符串是否为空。

如下:

{{!d.giftName?" ":d.giftName}}

2还有一种方法,用到一个 || 运算符

{{d.giftName||" "}} 当d.giftName为空时会显示为空字符串

{{d.giftName||"没有赠品"}} 当d.giftName为空时会显示为 没有赠品 双引号或单引号包裹字符串都可以,但不能没有

{{d.giftName|| }} 没有引号直接报错 Laytpl Error:SyntaxError: Unexpected token )

还有一种例外可以不要引号

{{d.giftName|| null }} 和 {{d.giftName}} 没有啥区别

{{# JavaScript表达式 }}

JS 语句。一般用于逻辑处理。用分隔符加 # 号开头。注意:如果你是想输出一个函数,正确的写法是:{{ fn() }},而不是:{{# fn() }}

试试 laytpl 模板的 if else 语法

这是官网上的例子

{{# if(true){ }}

开始日期:{{ fn() }}

{{# } else { }}

已截止

{{# } }}

乍一看有点懵,格式化一下

{{# if(true){ }}

开始日期

{{# } else { }}

已截止

{{# }

}}

这下就一目了然了

时间: 2019-09-18

摸索这个模板引擎碰到的问题,分享一下 本人在实现使用laytpl实现动态渲染菜单,来减少静态代码时候碰到了,元素是成功渲染出来,但是折叠动画效果和点击事件都失效了,然后仔细看了一下官方文档 官方文档原话:跟表单元素一样,很多时候你的页面元素可能是动态生成的,这时element的相关功能将不会对其有效,你必须手工执行 element.init(type, filter)方法即可.注意:2.1.6 开始,可以用 element.render(type, filter); 意思是我们动态渲染页面的时候

模板地址:https://github.com/zhangshaolong/simplite欢迎各位提出宝贵意见及贡献代码.特点: 1:代码量少,学习成本低: 2:默认jsp语法标签方式,熟悉jsp的朋友可以直接按照jsp的语法书写模板: 3:使用原生js语法进行逻辑处理,只要熟悉js语法即可直接上手,没有学习成本. 4:支持原生js的所有语法作为代码逻辑片段,支持宽泛的书写格式. 5:支持重定义模板语言的标签符,默认的逻辑标签为,默认的属性标签为. 6:支持

今天在学习vue的过程中,发现一个有趣的现象. 在某一组件下的某一数据通过点击事件被动态修改的时候,对应view中的数据同步的进行了修改,没错,这不是废话吗,vue的一大特色就是数据的双向绑定.可有趣的是,该组件下我写的另一个用Math.random()的data值对应的值和视图也发生了变化 这就让我这个刚入门的小白有点奇怪了,我修改一个,怎么变了两个????脑洞放开一想,会不会数据在双向同步的时候,发生了什么,比如.是不是只要有一个节点变了,node都重新进行了加载??? 我想这其中的缘由必定

首先要了解框架分页自带的参数有哪些,特别是注意参数名称要和后台一致! **需要注意的是layui框架的数据解析格式问题,data必须是个数组对象的形式才能正常解析否则会很麻烦(亲测过非正常解析,手写js手动动态添加表格) data 格式例如: { "count": 11, "code": 0, "msg": "", "data": [ { "id": "1", &qu

第一次使用layui分页控件,遇到的问题..field: 'type.typeName' 获取不到值. 页面代码 table.render({ elem: '#bookTable' ,height: 'full-20' ,url: '/admin/getBook' //数据接口 ,request: { pageName: 'begin' //页码的参数名称,默认:page ,limitName: 'length' //每页数据量的参数名,默认:limit } ,page: true //开启分页

模块eleTree 介绍.下载 地址:https://fly.layui.com/extend/eleTree/ 使用 JS位置 ,layui/lay/modules/eleTree.js: CSS位置 ,layui/css/modules/eleTree/eleTree.css: 页面css引用 引用 layui/css/layui.css"和 layui/css/modules/eleTree/eleTree.css : 页面js引用 引用 layui/layui.js : 页面div &l

很多时候,项目里都是需要上传功能的,现在就来研究研究, 首先,在html页面引入layui的包,如:

L3Byb3h5L2h0dHAvaW1nLmpiemouY29tL2ZpbGVfaW1hZ2VzL2dhbWUvMjAxNjEyLzIwMTYxMjIyMDk0MDU4NS5qcGc=.jpg

1.有以下题目: #include using namespace std; void GetMemeory(char* p) { p=(char*)malloc(sizeof(char)*100); } int main() { char *str=NULL; GetMemeory(str); strcpy(str,"Thunder"); strcat(str,"Downloader"); printf(str); system(

我们可向函数传递动态参数,*args,**kwargs,首先我们来看*args,示例如下: 1.show(*args) def show(*args): print(args,type(args)) #以元组的形式向列表传递参数 show(11,22,33,44,55,66) 首先我们定义了一个函数,函数show(*args)里面的*args可以接收动态参数,这里我们接收一个元组形式的参数,我们可以向show()里面传递很多参数,函数默认把这些参数作为一个元组进行接收. 2.show(**arg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值