我有一个模板和几个根据路线呈现的视图:
popApp.controller('HomeCtrl', ['$scope', '$routeParams', '$http', function($scope, $routeParams, $http) {
$scope.showNow = true;
}]);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/signup', {
controller:'HomeCtrl',
templateUrl:'partials/newAccountStage.html'
})
.when('/', {
controller:'HomeCtrl',
templateUrl:'partials/home.html'
});
}]);
在我的模板中,我会显示一些我想在大部分时间显示的元素,但在遵循某些路线时会隐藏:
<div ng-show="showNow"></div>
基本上当用户在/注册路线上时,我想隐藏一些元素。
最接近角色的方式是什么?
答案 0 :(得分:0)
将控制器分离到您想要的任何主视图是众所周知的做法。您可以使用$routeProvider
,如图所示。
popApp.controller('HomeCtrl', [
'$scope',
'$routeParams',
'$http',
function($scope, $routeParams, $http) {
$scope.showNow = true;
}
]);
popApp.controller('SignupCtrl', [
'$scope',
'$routeParams',
'$http',
function($scope, $routeParams, $http) {
$scope.showNow = true;
}
]);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/signup', {
controller:'SignupCtrl',
templateUrl:'partials/newAccountStage.html'
})
.when('/', {
controller:'HomeCtrl',
templateUrl:'partials/home.html'
});
}]);
另一种做法是使用$stateProvider
,如果您在另一个控制器内部具有此注册功能,并且您想要在用户尚未注册并且您想要更改&的情况下呈现不同的屏幕#34;状态&#34;的页面。然后,SignupCtrl
将成为HomeCtrl
的状态,您可以将状态设置为“未注册”状态。它可以使用SignupCtrl。
Here's a link for $stateProvider.
该语法的示例如下:
$stateProvider.state('not signed up', {
template: 'partials/newAccountStage.html',
controller: SignupCtrl
})