一、JS事件中

在使用H-uiAdmin做后台开发的时候,碰到了使用元素点击触发js函数展示弹窗的写法

但是在js函数中还需要使用U函数生成url以及使用$vo.id来传值

反复试了一下模版标签的写法   全部扑街

穷则思变,投降了,选择了混写的写法,郁闷

有点描述不清楚,具体看高亮红色内容

  <foreach name="consultions" item="vo">
<tr class="text-c">
<td><input type="checkbox" value="{<$vo.id>}" name=""></td>
<td>{<$vo.id>}</td>
<td class="text-l"><u style="cursor:pointer" class="text-primary" onClick='article_view("查看","<?=U("Backend/Consultion/view","id=$vo[id]")?>")' title="查看">{<$vo.title>}</u></td>
<td>{<$vo.thumb>}</td>
<td>{<$vo.source>}</td>
<td>{<$vo.updatetime>}</td>
<td>{<$vo.view>}</td>
<td>{<$vo.collection>}</td>
<td class="td-status"><span class="label label-success radius">已发布</span></td>
<td class="f-14 td-manage"><a style="text-decoration:none" onClick="article_stop(this,'10001')" href="javascript:;" title="下架"><i class="Hui-iconfont">&#xe6de;</i></a> <a style="text-decoration:none" class="ml-5" onClick="article_edit('资讯编辑','article-add.html','10001')" href="javascript:;" title="编辑"><i class="Hui-iconfont"></i></a> <a style="text-decoration:none" class="ml-5" onClick="article_del(this,'10001')" href="javascript:;" title="删除"><i class="Hui-iconfont"></i></a></td>
</tr>
</foreach>

2018.04.08补充;

后来查看编译文件,发现之所以正常的{:U}无法解析变量是因为单引号的问题,所以上述问题还有一个简单点的解决方案

 1  <foreach name="consultions" item="vo">
2 <tr class="text-c">
3 <td><input type="checkbox" value="{<$vo.id>}" name=""></td>
4 <td>{<$vo.id>}</td>
5 <td class="text-l"><u style="cursor:pointer" class="text-primary" onClick='article_view("查看","{<:U("Backend/Consultion/view","id=$vo[id]")>}")' title="查看">{<$vo.title>}</u></td>
6 <td>{<$vo.thumb>}</td>
7 <td>{<$vo.source>}</td>
8 <td>{<$vo.updatetime>}</td>
9 <td>{<$vo.view>}</td>
10 <td>{<$vo.collection>}</td>
11 <td class="td-status"><span class="label label-success radius">已发布</span></td>
12 <td class="f-14 td-manage"><a style="text-decoration:none" onClick="article_stop(this,'10001')" href="javascript:;" title="下架"><i class="Hui-iconfont"></i></a> <a style="text-decoration:none" class="ml-5" onClick="article_edit('资讯编辑','article-add.html','10001')" href="javascript:;" title="编辑"><i class="Hui-iconfont"></i></a> <a style="text-decoration:none" class="ml-5" onClick="article_del(this,'10001')" href="javascript:;" title="删除"><i class="Hui-iconfont"></i></a></td>
13 </tr>
14 </foreach>

  

二、<if>标签中 的变量

  如下代码中的高亮绿的,在if标签中习惯使用 . 来取数组织,但是条件完全不触发

<foreach name="cates" item="vo">
<eq name="vo.level" value="2">
<if condition="$vo.id==$product.cateid">
<option value="{<$vo.id>}" selected>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
<else/>
<option value="{<$vo.id>}" >{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
</if>
<else/>
<option value="{<$vo.id>}" disabled><b>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</b></option>
</eq>
</foreach>

  后来看了编译文件才发现

  如果是这样的话,对于PHP而言肯定是语法错误,所以直接改成如下

<foreach name="cates" item="vo">
<eq name="vo.level" value="2">
<if condition="$vo['id']==$product['cateid']">
<option value="{<$vo.id>}" selected>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
<else/>
<option value="{<$vo.id>}" >{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
</if>
<else/>
<option value="{<$vo.id>}" disabled><b>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</b></option>
</eq>
</foreach>

  

三、JS中的变量,如何在U函数中使用

如图所示:在特殊情况下遇到这种问题,js通过计算得到变量str,而改变量需要传递到控制器

最开始的想法是像正常的字符串连接一样来处理(如下图)

但是看了编译文件之后,问题就出来了

显然js的变量无法在PHP脚本中使用

反复尝试之后,发现如下写法:

总结:多看看编译文件.....

超恶心的TP模版取值的更多相关文章

  1. 【freemaker】之自定义变量,特殊变量 globals ,循环对象取值

    entity public class Employee { private Integer id; private String name; private Integer age; private ...

  2. 【freemaker】之循环,判断,对象取值

    entity: public class Employee { private Integer id; private String name; private Integer age; privat ...

  3. lr参数化取值与连接数据库

    TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的. 特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束, ...

  4. 参数化取值策略Unique

    Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示: 此处的下拉列表中提供了三种方式,具体如下: About Vuser,当取值次数超过参数的行数时,忽略脚本 ...

  5. Angular2+之使用FormGroup、FormBuilder和Validators对象控制表单(取值、赋值、校验和是否可编辑等)

    1.要使用Angular自带的表单控制需要先引入相关模块(.ts文件): import { FormGroup, //表单对象类 FormBuilder, //表单生成工具类 Validators} ...

  6. 如何解决流程开发中SheetRadioButtonList页面取值问题

    分享一个常见的取值问题. 应用场景: SheetRadioButtonList控件,点击其中一项执行事件操作.如果是页面加载的情况下,值就无法取到. 具体原因如下: 我给SheetRadioButto ...

  7. jQuery radio的取值与赋值

    取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...

  8. python通过函数改变变量取值

    严格讲应该是"通过函数调用,改变引用对象".python中,要区分"变量名"和"对象" 如果是类的对象,是引用类型的,那么可以通过函数调用, ...

  9. jsf初学selectOneMenu 绑定与取值

    jsf 的selectOneMenu 最后生成的<select>标签.这里涉及到一个binding 起初一直不知道是干嘛的,后来参考了其他文章.就相当于在asp.net 中如:<as ...

随机推荐

  1. 关于mysql处理百万级以上的数据时如何提高其查询速度的方法

    1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...

  2. 石家庄铁道大学课程信息管理系统(javaWeb+servlet+Mysql)

    实现网页版的课程管理系统,具有增删改查的功能. 1.首先连接数据库,具体数据库的使用及如何连接eclipse,参考     https://blog.csdn.net/lrici/article/de ...

  3. HTTPS(SSL / TLS)免费证书申请及网站证书部署实战总结

    服务器环境:windows server 2008  +  tomcat7 废话不多说,先看部署效果: 一.免费证书申请 Let's Encrypt  简介:let's Encrypt 是一个免费的开 ...

  4. Django-debug-toolbar的使用

    Django项目的开发过程中,离不开各种调试,那么,我们今天介绍一个工具,django debug toolbar,该工具为我们提供了更加丰富的调试信息,如提供session信息,SQL查询信息等等. ...

  5. docker性能测试

    测试环境: 操作系统:CentOS7.openstack nova-docker启动的centos7.openstack环境启动的centos7虚拟机 CPU:Intel(R) Xeon(R) CPU ...

  6. Python 用户交互程序Input

    1.用户交互,用户输入 用户输出命令是input. 设置一个变量并输出. name = input("name:") print(name) 注:python2 下 raw_inp ...

  7. 谷歌技术"三宝"之GFS

    题记:初学分布式文件系统,写篇博客加深点印象.GFS的特点是使用一堆廉价的商用计算机支撑大规模数据处理. 虽然"The Google File System " 是03年发表的老文 ...

  8. resmgr:cpu quantum 等待事件 top 1

    早上看昨天现场的报告,发现晚上七八点,resmgr:cpu quantum 等待事件排在i第一位,如下: 该事件是和资源管理相关的,如果启用资源管理计划,就可能遇到这个问题. 所以常规的解决方案是禁用 ...

  9. Nginx配置SSL证书实现https访问「浏览器未认证」

    http 和 https 介绍 http:应用最广泛的一种网络协议,是一个B/S的request和response的标准,用于从www服务器传输超文本到本地浏览器的传输协议. https:以安全为目标 ...

  10. Vue常见组件

    每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点 每个组件模板只能拥有一个根标签 子组件的数据具有作用域,以达到组件的复用 根组件 <div id= ...