控制HTML页面时改变
问题描述:
我有一个单页角的应用,这是我的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,但我宁愿只在一个地方有条件,我相信它是可行的。有任何想法吗?
答
为什么你不能从家庭控制器做到这一点?
<div id="bash" ng-show="bashShown()">...</div>
...
$scope.bashShown = function() {
return $location.path().endsWith('/home');
};
它不会被调用,因为它是家庭控制器的范围,因为这将在你的主控制器,一个控制bash的DIV的NG-视图 –
之外。如果你没有这样的控制器...创建它:''。 –