【发布时间】:2015-04-15 13:03:45
【问题描述】:
在 menus.client.service.js 文件中,我试图了解 MEAN.js 框架中菜单的填充结构
代码以分配给此的空菜单对象开始
this.menus = {}
然后在文件底部,调用this.addMenu('topbar')函数
// Add new menu object by menu id
this.addMenu = function(menuId, isPublic, roles) {
console.log('pre-this.menus')
console.log(this.menus) // empty object
// Create the new menu
this.menus[menuId] = {
isPublic: isPublic || false,
roles: roles || this.defaultRoles,
items: [],
shouldRender: shouldRender
};
console.log('post-this.menus')
console.log(this.menus[menuId]) //complete populated menu with submenus i.e "List Articles", "New Article"
// Return the menu object
return this.menus[menuId];
};
通过这一个函数,似乎调用了另外两个函数
this.addMenuItem 和 this.addsubMenuItem
但我不知道它是怎么发生的,因为我没有看到在文件中明确调用它们。
我想我在这里遗漏了一个重要的概念。我还查看了 header.client.controller.js 文件,但它所做的只是调用 getMenu 函数并分配给 $scope.menu
$scope.menu = Menus.getMenu('topbar');
这是完整的非功能文件代码
jsfiddle:http://jsfiddle.net/4c5gc0aq/
【问题讨论】:
标签: javascript meanjs