如何在index.html页面中使用ng-if基于url?

时间:2015-01-14 17:20:16

标签: javascript angularjs uiview ng-hide js-routes

如果某些嵌套视图中的url,我想在索引页面中使用ng-hide。 在我的index.html中,我想要类似的东西:

    <top-bar ng-if="!home"></top-bar>
    <ui-view class="reveal-animation"></ui-view>
    <bottom-bar ng-if="!home"></bottom-bar>

我希望当我进入“家庭”视图时,条形图会消失。 正如我在这里看到的相同问题 - 答案是在控制器中使用$ location,但索引页的控制器在哪里?

感谢

2 个答案:

答案 0 :(得分:2)

在父控制器中,添加以下内容:

$scope.isHome = function(){
  return $state.is("home");
}

然后像这样更改模板:

<top-bar ng-if="!isHome()"></top-bar>
<ui-view class="reveal-animation"></ui-view>
<bottom-bar ng-if="!isHome"></bottom-bar>

Check this plunkr here查看一些实时代码。


另一种方法是使用$stateChangeSuccess,如下所示:

$scope.$on("$stateChangeSuccess", function(event, toState){
  $scope.isHome = (toState.name == "home")
})

我还建议您查看$state.includes$state.current和其他人。只需浏览文档here

即可

答案 1 :(得分:0)

一次教你一切都不容易。你必须提到一些概念。

http://viralpatel.net/blogs/angularjs-routing-and-views-tutorial-with-example/

我希望此链接可以帮助您开始使用Angularjs。