我正在使用John Papa创建的Hot Towel AngularJs SPA。我想知道如何将当前菜单更改为子菜单。
将帖子 HotTowel菜单的基本实现循环到所有路由并显示在侧栏上。我想要做的是,如果其中一条路线有子菜单,那么它的内容将被分组到一个菜单项中。类似于下拉菜单子菜单
答案 0 :(得分:1)
不要忘记您正在使用模型和控制器。
Angular模型和控制器与View John构建的协同工作。
public class HotTowelController : Controller
{
//
// GET: /HotTowel/
public ActionResult Index()
{
return View();
请注意,索引是视图。
确定。
运行页面时查看网址。
注意它没有加载另一页。
那是因为它是一个SPA框架。
Index有一个Javascript方法,我们在.NET Framework / MVC之外定义角色
所以,我们有一个modeljs和一个controllerjs。就像MVC一样,我们必须使用这三个。但请使用APP文件夹中的那些。
APP文件夹
管理 共同 仪表板 布局 服务
的ViewModels
视图
等...
所以
转到布局文件夹
打开topnav.html
读过viewmodels
shelljs
var routes = [
{ route: '', moduleId: 'home', title: 'Reserve a Seat', nav: 1 },
{ route: 'details', moduleId: 'details', title: 'Poker Details', nav: 2 }];
return router.makeRelative({ moduleId: 'viewmodels' }) // router will look here for viewmodels by convention
.map(routes) // Map the routes
.buildNavigationModel() // Finds all nav routes and readies them
.activate(); // Activate the router
}
看看这里发生了什么。我们映射,挖空和角度都有非常简单的映射。
http://knockoutjs.com/documentation/plugins-mapping.html
这是一种简单的学习方法,而vm对于两者都只是使用npm与开放源代码中定义更多的库的角度来说是非常有用的。两者都是麻省理工学院,所以不会出错。
然后查看config config.route mainjs
你看到了什么:你得到了吗?
需要更多?