Tyl*_*ood 10 angularjs ng-show ng-hide
我想要一个←返回主页链接显示在我的Angular应用程序的每个页面上除了主页之外的nagivation.因此,ng-hide如果网址已经在应用的主页(视图)上,我想有条件地添加链接并隐藏它.
我尝试过使用angular的$location服务但没有成功
<p ng-hide="location.hash == '#/'" class="container"><a href="#topics">← Back to Home</a></p>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下变化:
ng-hide="location.hash == '#/' " //console.log shows true
ng-hide="location.hash === '#/' " //console.log shows true
ng-hide="location.hash == '' " //console.log shows false
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为如果我记录了我location.hash == '#/'在主页上的时间值true,那么ng-hide应该工作.
基本上我正在尝试这里列出的第三种方法: 如何根据我目前使用的页面/路线使用角度ng-hide?但它不起作用.对于我正在努力实现的目标,该页面上的另外两种方法看起来过于复杂.
我错过了什么?
Adr*_*atu 19
首先,当你使用location.hash或location.url时,实际上你正在使用window.location javascript对象,你应该使用angular提供的$ location服务.所以在你的控制器中我会创建:
$scope.currentPath = $location.path();
Run Code Online (Sandbox Code Playgroud)
在你的HTML中:
<div ng-hide="currentPath === '/'"></div>
Run Code Online (Sandbox Code Playgroud)
我会小心"#/"和"/",我只使用html5模式,所以我不确定$ location.path将返回什么,但你可以使用console.log轻松检查它($ location .path())我认为它只会返回"/",因为这是angular的路径,它不应该关心#.
| 归档时间: |
|
| 查看次数: |
22916 次 |
| 最近记录: |