索引页

时间:2017-02-18 13:47:16

标签: javascript angularjs angularjs-directive angularjs-scope

如果我在某些地方,我想隐藏导航栏。 A有索引页面:

<navbar ng-show="showNavbar"></navbar>
<div ng-view></div>

使用js:

scope.showNavbar=(window.location.hash == '#/login');

我试图将位置检查器放到mainCtrl中,但是,它并没有检查位置一次。 之后,我进入了goClick指令

.directive( 'goClick', function ( $location) {
        return function ( scope, element, attrs ) {
            var path;

            attrs.$observe( 'goClick', function (val) {
                path = val;
            });

            scope.showNavbar=(window.location.hash == '#/login');


            element.bind( 'click', function () {
                scope.$apply( function () {
                    $location.path( path );
                });
            });
        };
    });

它检查了它,但是既不能传递html页面也不能传递Ctrl。

1 个答案:

答案 0 :(得分:1)

更改

<navbar ng-show="showNavbar"></navbar>

<navbar ng-show="showNavbar()"></navbar>

和控制器

scope.showNavbar = function(){
   if($location.path() =='/login'){
    return true; 
   }else{
     return false; 
    }
}