2015-05-16 68 views
1

在angularjs(1.3)和Bootstrap 3(定制类),我有以下的索引结构:填充体显示登录页面

<html ng-app="myApp"> 
... 
<body> 
    <main class="page-content container"> 
     <div ng-include src="'Views/Partials/Navbar.html'"></div> 
     <div ng-include src="'Views/Partials/Sidebar.html'"></div> 

     <div class="page-inner"> 
      <div ng-view> 
      </div> 
     </div> 
    </main> 
</body> 
... 
</html> 

所以我有导航栏和内容DIV的盒装布局在那里我使用$ routeProvider显示内容页面。

enter image description here

现在我想表明,填充了整个窗口,所以它不是里面的页面内的div一个登录页面。

我怎样才能实现它与角?因为ng-view在page-inner div内部,我想在body层面注入我的html页面。

感谢

回答

1

您可以使用ng-hide隐藏导航栏/侧边栏和ng-class取决于当前位置(登录或网站内容)使用$location.url()不同css应用到您的内容。

是这样的:

<html ng-app="myApp"> 
... 
<body> 
    <main class="page-content container"> 
     <div ng-show="show.navbar" ng-include src="'Views/Partials/Navbar.html'"></div> 
     <div ng-show="show.sidebar" ng-include src="'Views/Partials/Sidebar.html'"></div> 

     <div ng-class="{{css.innerContent}}"> 
      <div ng-view> 
      </div> 
     </div> 
    </main> 
</body> 
... 
</html> 

控制器:

//show navbar/sidebar by default 
$scope.show = { 
    navbar : true, 
    sidebar : true 
} 
//default values for css class 
$scope.css = { 
    innerContent : "page-inner" 
} 
//check current location and assign new values 
if($location.url() == "/login"){ 
    $scope.show.navbar = false; 
    $scope.show.sidebar = false; 
    $scope.css.innerContent = "login-inner" 
} 

CSS:

//example of css 
.page-inner{ 
    width:50%; 
} 
.login-inner{ 
    width:100%; 
}