AngularJS - UI-Routing -如何在控制器中使用路由状态作为变量
AngularJS - UI-Routing - how to use the route state as variable in controller?
我使用的是Angular JS和UI-Routing。路由工作正常。我的问题是显示和隐藏滑动条取决于用户在哪个页面。
我的index.html看起来像这样:
<body ng-app="myApp">
<header ng-include="'templates/header.html'"></header>
<div>Code for slider</div>
<!--=== Content Part ===-->
<div class="container">
<div class="row" >
<div ui-view autoscroll="false"></div>
</div>
</div><!--/container-->
<!-- End Content Part -->
<footer ng-include="'templates/footer.html'"></footer>
我的app.js是这样的
angular
.module('myApp', ['ui.router'])
.config(['$urlRouterProvider','$stateProvider',function($urlRouterProvider,$stateProvider){
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home',{
url: '/',
templateUrl: 'templates/home.html'
})
.state('about',{
url: '/about',
templateUrl: 'templates/about.html'
})
.state('contact',{
url: '/contact',
template: 'CONTACT'
})
}])
.controller()
现在我试图在home.html模板中包含滑块,但由于初始化要求,它不能正常工作。当我在不同的路由中使用控制器时,它超出了范围。那么,我如何将一个指向状态的变量传递给一个独立于路由的控制器这样我就可以使用它了比如
if (state==home) {
$scope.showSlider==true;
}else{ $scope.showSlider==false;}
谢谢,Gerd
更新:@Chris T
我已经添加到我的app.js:
.controller('myController',['$scope', '$state', function($scope,$state){
if ($state.includes('home')){
$scope.showIt=true;
}else{
$scope.showIt=false;
}
}])
然后我将控制器应用到一个div上,我将滑块包裹起来,并使用
ng-show="showIt"
在控制器中注入$state。然后检查$state.includes("home");
更新:我制作了一个带有父状态的plunk,它根据$state.includes('main.home')
控制滑动条的启用/禁用。http://plnkr.co/edit/eT1MW0IU53qfca6sGzOl?p =预览
相关文章:
- 在通知点击时使用Ion中的OneSignal插件路由到应用程序中的状态
- Angularjs:ui路由嵌套状态下的绑定不起作用
- AngularJS〔UI路由器〕urlRouteProvider.when()与路由到子状态的解析
- angular ui:ui路由器动态路由和状态
- 如何确定当前路由在 React 中是否处于活动状态
- 角度绝对路由和路由/状态提供程序
- 在运行应用并切换到路由或状态之前解决$http请求
- 如何在运行时将路由或状态添加到 Ember.Router
- AngularJS:使用路由记住复杂视图的状态/设置
- 如何在路由更改之间维护视图(控制器)状态
- ui路由器——具有一条路由'的URL与另一个具有$stateParams的状态共享同一级别
- AngulaJS ui路由器:路由到url状态
- Backbone.js如何根据特定的应用程序状态定义一组自定义路由
- 如何在ember.js 1.6.x中创建无路由子状态
- 承诺数据在路由状态改变时不呈现
- 在UI-Router的嵌套路由中,子状态加载父状态templateUrl
- React路由器-动态路由-通过路由器访问状态对象
- AngularJS - UI-Routing -如何在控制器中使用路由状态作为变量
- $state.go()不路由到其他状态,#/null在url
- 如何在React JS中获取上次访问的路由/状态