如何在AngularJs中隐藏和显示sidenavigation面板?

时间:2016-10-18 06:17:51

标签: javascript jquery html angularjs

我已经使用ng-include添加html,在包含的html中我有侧面导航面板包含,这边导航包括我想在一个html中显示而不是在第二个html中,我该怎么做?

我的包括

<div ng-include src="'template/includeGallery.html'"  id="angularGallery" ng-controller="galleryCtrl as vm"  
                ng-show="vm.showGallery" resize>
</div>

includeGallery.html as

<div class="gallery">
                <div class="close" ng-click="vm.closeGallery()">
                    <img src="../images/closeimage.png" class="close-img">
                </div>
                <!-- Gallery start -->  

               <div  ng-include src="'view/sidepanel.html'">
          </div>
 </div>

在上面的代码中,我想在一个html页面中显示ng-include src="'view/sidepanel.html'">,我不想在第二个html中显示两者都有不同的控制器。

两个html都有不同的控制器。

2 个答案:

答案 0 :(得分:0)

你必须在这里使用ng-show:

从控制器初始化一个状态变量,以确保您是否要显示。

$scope.status = true;

然后在你看来:

<div ng-show="status" ng-include src="'template/includeGallery.html'"  id="angularGallery" ng-controller="galleryCtrl as vm"  
                ng-show="vm.showGallery" resize>
</div>

答案 1 :(得分:0)

在您不想要包含该文件的控制器中,取一个flag,将其设为true并添加ng-if条件,其中包含部分内容,

app.controller('myController', ['$scope',
    function($scope) {

    vm.to_display = true;

    }

])

includeGallery.html as

<div class="gallery">
                <div class="close" ng-click="vm.closeGallery()">
                    <img src="../images/closeimage.png" class="close-img">
                </div>
                <!-- Gallery start -->  

               <div  ng-if = "vm.to_display" ng-include src="'view/sidepanel.html'">
          </div>
 </div>