基于选定的页面在angularjs中显示/隐藏标题徽章

Based on selected page show/hide header badge in angularjs

本文关键字:显示 隐藏 标题 徽章 angularjs 于选定      更新时间:2023-09-26

我正在使用Metronic AngularJS主题(点击这里)并使用AngularJS和MVC开发应用程序。侧边栏、页眉和页脚分为不同的部分。我们只是使用以下代码包含它们。

<div data-ng-include="'~/App/common/views/layout/header.cshtml'" data-ng-controller="common.views.layout.header as vm" class="page-header navbar navbar-fixed-top md-shadow-zero-light">

在标题中,我们有一个徽章,我们希望为其他页面显示该徽章,而不是仪表板。当用户打开仪表板时,它应该隐藏,对于其他人,它应该显示。我正在尝试使用标志解决此问题,此标志在标头控制器下定义。

我的问题是,当我们在页面之间导航时,它不会再次调用标头控制器。 它调用和加载一次。

任何人都可以帮助我,我如何解决这个问题?

已解决的问题:

使用以下代码解决了我的问题。

<li data-ng-show="$state.includes('incentives')" class="dropdown dropdown-quick-sidebar-toggler">
app.run(function($state, $rootScope){

$rootScope.$state = $state;});

我在Pankaj Parker的回复的帮助下解决了我的问题。

我认为有更好的方法可以实现您想要的,但这可能涉及代码中的重大重新工厂,这可能不是您想要的。为了使我们现在的工作能够正常工作,我建议在data-ng-include中使用三元,请记住,它接受表达式。

如果可能,请尝试以下操作:

<div data-ng-include="vm.currentLocation === true ? '~/App/common/views/layout/header.cshtml' : null" ...rest of the line