使用MeanJS 4.x,我正在尝试添加另一个菜单项到管理菜单(默认情况下具有Manage Users菜单项的同一菜单)。
以users-admin.client.menus.js代码为例,我创建了自己的thing-admin.client.menus.js:
(function () {
'use strict';
angular
.module('things.admin')
.run(menuConfig);
menuConfig.$inject = ['menuService'];
function menuConfig(menuService) {
menuService.addSubMenuItem('topbar', 'admin', {
title: 'Manage Things',
state: 'things.list'
});
}
}());它什么也做不了。当代码运行时(我可以在menuConfig函数中使用console.log并获得预期的日志),subMenuItem没有被添加。
我可以将完全相同的代码放入users-admin.client.menus.js中,它就可以工作了。我现在可以做到这一点,但它似乎没有遵循Mean.js模板的约定,所以我宁愿将它放在我的模块中,而不是放在他们的模块中。
我还可以在thing-admin.client.menus.js中将addSubMenuItem更改为addMenuItem,它的工作方式(只是不是我想要的方式;它将其添加为管理菜单的同级,而不是子级)。
我遗漏了什么?
发布于 2018-07-30 05:43:12
我也遇到了同样的问题,结果是我不得不将core.admin作为依赖项传递给app.registerModule -因为在我尝试向其添加子菜单之前,管理菜单必须存在。
app.registerModule('things.admin', ['core', 'core.admin']);发布于 2016-07-28 23:55:08
你有没有试着在你的menuService上运行一个console.log,看看它是否真的被添加了?
确保你的菜单名为'admin‘而不是'things-admin’
https://stackoverflow.com/questions/37536396
复制相似问题