2017-02-12 101 views
0

我有一个单页角的应用,这是我的index.html文件:控制HTML页面时改变

<html ng-app="myApp"> 
... 
<div id="bash">...</div> 
... 
<div id="menu">...</div> 
... 
<div ng-view></div> 
... 
</html> 

然后,我有一个家居控制器,其模板,并有关于我们的控制器自己的模板。我希望他们的模板能够在ng-view中看到,但是我希望#bash只有在URL以/home结尾时才会出现,并在URL以其他任何内容结束时隐藏。

我不能这样做,通过家庭控制器,因为它是NG-视图

之外,我无法通过正常的JS文件以及因为应用程序加载一次做到这一点。

我可以通过每个控制器,并有一个js函数,改变#bash的css并将显示变为false,但我宁愿只在一个地方有条件,我相信它是可行的。有任何想法吗?

回答

0

为什么你不能从家庭控制器做到这一点?

<div id="bash" ng-show="bashShown()">...</div> 

... 

$scope.bashShown = function() { 
    return $location.path().endsWith('/home'); 
}; 
+0

它不会被调用,因为它是家庭控制器的范围,因为这将在你的主控制器,一个控制bash的DIV的NG-视图 –

+0

之外。如果你没有这样的控制器...创建它:''。 –