关于freemarker 的用法?
varzNodes=[<@_listCategory><#listcategoriesas_category>{id:'C_${_category.id}',pId:'C...
var zNodes =[
<@_listCategory>
<#list categories as _category>
{ id: 'C_${_category.id}', pId: 'C_${_category.parent_id}', name: '${_category.name}', isParent: true<#if api?? && api.parent_ids?index_of("," + _category.id + ",") gt 0>, open: true</#if>},
</#list>
</@_listCategory>
];
给我讲一下这几行代码的意思, 特别是 <@_listCategory> </@_listCategory> 这组标签 它是什么意思??
路过的帅哥 美女 大虾 还请不吝赐教 (真心的没分了 谢谢) 在线坐等!! 展开
<@_listCategory>
<#list categories as _category>
{ id: 'C_${_category.id}', pId: 'C_${_category.parent_id}', name: '${_category.name}', isParent: true<#if api?? && api.parent_ids?index_of("," + _category.id + ",") gt 0>, open: true</#if>},
</#list>
</@_listCategory>
];
给我讲一下这几行代码的意思, 特别是 <@_listCategory> </@_listCategory> 这组标签 它是什么意思??
路过的帅哥 美女 大虾 还请不吝赐教 (真心的没分了 谢谢) 在线坐等!! 展开
展开全部
只从这段代码中实际上是无法完全确定<@_listCategory> </@_listCategory> 这组标签的含义。
因为在Freemarker中,那组标签表示调用名为_listCategory的指令
而这个指令基本上可以确定是编码者自定义的指令,所以无法完全确定。
当然在后面会有我对这个指令含义的推测。现在开始解析这段代码。
我对这个代码的初步认识是:一段使用ztree插件过程中,赋值树节点字符串的js代码。
代码中的zNodes变量实际上是一个节点对象的数组,这段代码出现的此对象的属性如下:
id、pId(父节点id)、name、isParent(是否为父节点)、open(是否展开,true为展开)。
代码逐行解析:
var zNodes =[ //定义zNodes数组
<@_listCategory> //调用_listCategory
<#list categories as _category> //循环名为catagories的List,定义其中的元素为_category
//以下为treeNode对象的赋值过程
{ id: 'C_${_category.id}', //赋值id为 C_ + _category对象的id属性
pId: 'C_${_category.parent_id}', //赋值pId为'C_${_category.parent_id}'
name: '${_category.name}', //赋值name为 '${_category.name}'
isParent: true //赋值isParent为true
<#if api?? && api.parent_ids?index_of("," + _category.id + ",") gt 0>, open: true</#if>},
//判断: api对象若存在,并且api的parent_ids属性中含有"," + _category.id + ","
//则赋值 open为true (即此节点展开),注意对象赋值结束后有逗号
</#list> //循环结束
</@_listCategory> //指令调用结束,这组指令之间的代码就是其作用范围
]; //定义zNodes数组结束
由于循环结束后最后一个对象后面多了一个逗号,故_listCategory可大概判断其作用是去除结尾逗号用。
因为在Freemarker中,那组标签表示调用名为_listCategory的指令
而这个指令基本上可以确定是编码者自定义的指令,所以无法完全确定。
当然在后面会有我对这个指令含义的推测。现在开始解析这段代码。
我对这个代码的初步认识是:一段使用ztree插件过程中,赋值树节点字符串的js代码。
代码中的zNodes变量实际上是一个节点对象的数组,这段代码出现的此对象的属性如下:
id、pId(父节点id)、name、isParent(是否为父节点)、open(是否展开,true为展开)。
代码逐行解析:
var zNodes =[ //定义zNodes数组
<@_listCategory> //调用_listCategory
<#list categories as _category> //循环名为catagories的List,定义其中的元素为_category
//以下为treeNode对象的赋值过程
{ id: 'C_${_category.id}', //赋值id为 C_ + _category对象的id属性
pId: 'C_${_category.parent_id}', //赋值pId为'C_${_category.parent_id}'
name: '${_category.name}', //赋值name为 '${_category.name}'
isParent: true //赋值isParent为true
<#if api?? && api.parent_ids?index_of("," + _category.id + ",") gt 0>, open: true</#if>},
//判断: api对象若存在,并且api的parent_ids属性中含有"," + _category.id + ","
//则赋值 open为true (即此节点展开),注意对象赋值结束后有逗号
</#list> //循环结束
</@_listCategory> //指令调用结束,这组指令之间的代码就是其作用范围
]; //定义zNodes数组结束
由于循环结束后最后一个对象后面多了一个逗号,故_listCategory可大概判断其作用是去除结尾逗号用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询