Javascript 在Angular 2中动态显示/隐藏菜单栏
我目前正在从事Angular 2项目。我实现了两个组件(1.标题和2.显示页面内容)。 如果我打开服务,我将从登录/注册开始。此时,我想隐藏所有其他菜单项。 如果我已登录,我希望显示所有菜单项 目前,我正在使用*ngIf来显示和隐藏菜单项,这实际上是可行的。我的问题是,如果我启动页面但没有登录,菜单项就不存在了(这很好)。但是,如果我登录,只有包含页面内容的容器正在更改内容,而不是菜单栏 目前,我检查是否以这种方式登录:Javascript 在Angular 2中动态显示/隐藏菜单栏,javascript,html,angular,angular2-routing,angular2-services,Javascript,Html,Angular,Angular2 Routing,Angular2 Services,我目前正在从事Angular 2项目。我实现了两个组件(1.标题和2.显示页面内容)。 如果我打开服务,我将从登录/注册开始。此时,我想隐藏所有其他菜单项。 如果我已登录,我希望显示所有菜单项 目前,我正在使用*ngIf来显示和隐藏菜单项,这实际上是可行的。我的问题是,如果我启动页面但没有登录,菜单项就不存在了(这很好)。但是,如果我登录,只有包含页面内容的容器正在更改内容,而不是菜单栏 目前,我检查是否以这种方式登录: …菜单项。。。 您可能应该创建一个全局用户服务,跟踪用户状态,组件可以
…菜单项。。。
您可能应该创建一个全局用户服务,跟踪用户状态,组件可以订阅该服务,以便始终实时更新用户登录或未登录的位置
如果您当时不喜欢ngif解决方案,您有几个选项:您可以创建一个全新的组件,并在只有用户登录时才能访问的路径中显示该组件,或者您可以创建一个控制导航菜单项的菜单项数组,并运行ngfor
为了获得更多帮助,您应该回答以下问题:您当前跟踪用户状态(您的用户变量)的位置,以及如何通知组件该变量的更改?仅凭猜测,您可能正在根据构造函数中的本地存储或标头中的oninit函数设置用户变量,然后将其保留。这将导致它一次获得user的值,但以后不会更新它,这就是为什么它会在页面刷新时正确显示 @CodingMole-请提供更多相关代码的详细信息、您尝试的示例和相关屏幕截图。你还需要组织你的问题。
angularjs
是基于javascript的有角度的,即:版本1x<代码>角度是在TypeScript中以角度重写的,即:版本2和版本4。请使用适当的产品名称/术语和标签回答您的问题。谢谢您的回答。我有一个显示菜单项的标题。如果我在主框架(其他组件)中登录,我希望显示更具体的用户相关菜单项。目前,我检查是否以这种方式登录:…菜单项。。。如果我重新加载整个页面,这是可行的-但是我认为应该有更好的方法来实时显示/隐藏菜单项,而无需手动刷新?登录后,使用公共服务重置用户
变量。如果不显示用户
如何连接到组件和服务,任何人都无法为您做任何事情,因为我们都会猜测您拥有什么。您能用代码示例创建一个plunker吗?