内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
如果主视图是主页视图,我想隐藏其中的一个“包含视图”。
<div id="page" ng-class="{ showNav: $root.showNav }"> <header id="pageHeader" ng-controller="HeaderCtrl" data-ng-include="'views/includes/header.html'"></header> <div id="pageHero" ng-show='$rootScope.fullView' ng-controller="MainsearchCtrl" data-ng-include="'views/mainSearch.html'"></div> <div id="pageContent" ng-view=""></div> </div>
以下是一种可能的方法:
JavaScript
angular.module('app', ['ngRoute']). config(['$routeProvider', function($routeProvider) { $routeProvider. when('/one', { controller: 'routeController', templateUrl: 'routeTemplate.html' }). when('/two', { controller: 'routeController', templateUrl: 'routeTemplate.html' }). otherwise({ redirectTo: '/one' }) }]). controller('routeController', ['$scope', '$location', function($scope, $location) { $scope.showPageHero = $location.path() === '/one'; }]);
routeTemplate.html
<div> <h1>Route Template</h1> <div ng-include="'hero.html'" ng-if="showPageHero"></div> <div ng-include="'content.html'"></div> </div>