常见的html文件应该包含在index.html中

时间:2016-02-05 19:48:48

标签: html angularjs

我有一个带有多个视图和控制器的angularjs web应用程序。我有一个名为topnav.html的html文件,它包含在除3之外的所有视图中。而不是将其包含在所有视图中,我想将其包含在中index.html。如果我这样做,我会在所有观点中得到它。我必须从3个特定视图中排除它。我该怎么做?

synchronized

我在除了3之外的所有视图中都包含了topnav.html。相反,我只想在index.html中包含它。但问题是我在所有视图中都获得了topnav.html,包括3个视图但是,我不希望topnav.html包含在我的3个观点中。 我知道我必须使用ng-if,但我不知道该放什么。

2 个答案:

答案 0 :(得分:0)

您可以使用ng-if完成在特定页面上排除该引用。您需要提供一个更好的例子来说明您要做的事情。

创建一个在所有页面中保留的变量,如下所示:

//Make this a universal variable
$scope.includeJS = true;

 //Put this either in the js of the page you want to not have the reference or put it in a universal js and put a $watch on it.
if($location.path() == "/ExcludePath")
{
    //if it is in a universal js
   $scope.includeJS = false;

   // if it is in a js file outside a universal js
   $scope.$parent.universalCtrl.includeJS = false;
}

答案 1 :(得分:0)

您可以创建一个处理高级决策的AppController。在那里,你把你需要的逻辑展示给你的顶级导航。

您的索引页面如下所示:

<body ng-controller="AppController">
    <div ng-if="showTopNav()" ng-include="'views/topnav.html'"></div>
    <div ng-view></div>
</body>

并在AppController中:

$scope.showTopNav = function () {
    var result;
    //logic to show top nav...
    return result;
}