【发布时间】:2017-03-22 02:29:41
【问题描述】:
假设我有这个视图,“菜单”是一个菜单对象的集合,它也可能有一个名为 Children 的菜单对象的集合作为属性。
这是视图 -
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav">
<li repeat.for="m of menu" class.bind="m.type=='child' ? 'dropdown' : ''" as-element="compose" data-type="${m.type}"
view="/client/landing/menubar/${m.type}menu"></li>
</ul>
</div>
我使用两个视图作为我的递归菜单,就像这样 -
(查看 - 没有子集合)
<template>
<a href.bind="menu.link" data-info="${menu.type}">${menu.displayText}</a>
</template>
(视图 - 带有子集合)
<template>
<a href="#" class="dropdown-toggle" data-toggle="dropdown">${menu.displayText} <b class="caret"></b></a>
<ul class="dropdown-menu">
<li repeat.for="m of menu.children" data-info="${m.type}" class.bind="m.haschildren ? 'dropdown' : ''"
as-element="compose" view="/client/landing/menubar/${m.type}menu"></li>
</ul>
</template>
这两个视图的视图模型都是这样的 -
从“aurelia-framework”导入 { customElement, bindable, inject };
@customElement("parentmenu")
export class ParentMenu {
@bindable menu;
}
我得到了一些东西。视图确实显示(尽管没有递归)。问题是 repeat.for="m of menu" 在第一个视图中的绑定下根本不起作用。
我哪里出错了?
【问题讨论】:
-
在有人去之前,我不能在这个 SPA 上使用 Aurelia 路由。整个应用程序由几个 SPA 组成,其中一些将使用路由。这个依赖于服务器数据并且主要绑定到本地 # 锚点。
标签: javascript aurelia