JsRender If 条件比较子对象之间的变量
JsRender If conditions comparing variables between child objects
我正试图在 JsRender 中实现这一点。
从下面的代码可以看出,SubMenuItems 和 SubMenuPages 是 objects.However 数组中的子对象,我想比较第一个对象中的值与第二个 respectively.I 中的值只符合条件if 条件只是为了清楚我要完成的事情。
所以基本上我想访问一个子对象中的 id 变量,然后检查另一个对象中的另一个变量。
我有点不确定关于这个的语法,因为我尝试的所有内容都没有返回。
{{for SubMenuItems}}
<li><a href="#">{{>Name}}</a></li>
<ul>
{{for SubMenuPages}}
{{if SubMenuItems.PageMenuId == SubMenuPages.Id }}
<li><a href="{{>PageUrl}}" >{{PageName}}</a></li>
{{/if}}
{{/for}}
{{/for}}
</ul>
SubMenuItems
也是一个 数组 ,每个项目都有一个 PageMenuId
- 或者是你似乎说的是一个单一的对象? (类似地,SubMenuPages
是一个 数组 ,每个项目都有一个 Id
?)
如果不更清楚地了解您的数据层次结构,很难回答您的问题,但基本上这里的文档 View Hierarchy - and in particular here Accessing parent data 应该告诉您您需要了解的内容。
如果我对您的数据结构的猜测是正确的,那么您可以通过以下一种方式编写模板:
...
{{for SubMenuItems itemVar="~SubMenuItem" ~Pages=SubMenuPages}}
...
{{for ~Pages itemVar="~SubMenuPage"}}
...
{{if ~SubMenuItem.PageMenuId == ~SubMenuPage.Id }}
...
{{/if}}
...
{{/for}}
...
{{/for}}
...
您还可以查看这些与您的类似的堆栈溢出问题:
我正试图在 JsRender 中实现这一点。 从下面的代码可以看出,SubMenuItems 和 SubMenuPages 是 objects.However 数组中的子对象,我想比较第一个对象中的值与第二个 respectively.I 中的值只符合条件if 条件只是为了清楚我要完成的事情。
所以基本上我想访问一个子对象中的 id 变量,然后检查另一个对象中的另一个变量。 我有点不确定关于这个的语法,因为我尝试的所有内容都没有返回。
{{for SubMenuItems}}
<li><a href="#">{{>Name}}</a></li>
<ul>
{{for SubMenuPages}}
{{if SubMenuItems.PageMenuId == SubMenuPages.Id }}
<li><a href="{{>PageUrl}}" >{{PageName}}</a></li>
{{/if}}
{{/for}}
{{/for}}
</ul>
SubMenuItems
也是一个 数组 ,每个项目都有一个 PageMenuId
- 或者是你似乎说的是一个单一的对象? (类似地,SubMenuPages
是一个 数组 ,每个项目都有一个 Id
?)
如果不更清楚地了解您的数据层次结构,很难回答您的问题,但基本上这里的文档 View Hierarchy - and in particular here Accessing parent data 应该告诉您您需要了解的内容。
如果我对您的数据结构的猜测是正确的,那么您可以通过以下一种方式编写模板:
...
{{for SubMenuItems itemVar="~SubMenuItem" ~Pages=SubMenuPages}}
...
{{for ~Pages itemVar="~SubMenuPage"}}
...
{{if ~SubMenuItem.PageMenuId == ~SubMenuPage.Id }}
...
{{/if}}
...
{{/for}}
...
{{/for}}
...
您还可以查看这些与您的类似的堆栈溢出问题: