Maison > Questions et réponses > le corps du texte
$scope.peopleprofile = true;
$scope.peoplesettings = false;
if( $scope.locationpath == '/peopleProfile'){
$scope.peopleprofile = true;
$scope.peoplesettings = false;
}else if( $scope.locationpath == '/peopleSettings'){
$scope.peoplesettings = true;
$scope.peopleprofile = false;
}
$scope.go = function(url, type){
if( type == 'peopleprofile'){
$scope.peopleprofile = true;
$scope.peoplesettings = false;
}else if( type == 'peoplesettings'){
$scope.peoplesettings = true;
$scope.peopleprofile = false;
}
routeSrvc.go(url);
};
<p ng-class="{true: 'menu-item peoplesetting-nav-style', false: 'menu-item peoplesetting-nav'}[peopleprofile]" ng-controller="PersonController">
<a class="peoplesetting-title-style" ng-click="go('peopleProfile', 'peopleprofile')"><i class="fa fa-cog"></i>个人设置</a>
</p>
<p ng-class="{true: 'menu-item peoplesetting-nav-style', false: 'menu-item peoplesetting-nav'}[peoplesettings]" ng-controller="PersonController">
<a class="peoplesetting-title-style" ng-click="go('peopleSettings', 'peoplesettings')"><i class="fa fa-cog"></i>账号设置</a>
</p>
La valeur par défaut est la suivante :
Quand je clique sur les paramètres du compte, j'espère que l'état actuel est dans les paramètres du compte, mais l'effet est bel et bien le suivant
Tous les passants peuvent m'aider à découvrir quel est le problème. Merci d'avance~~~
習慣沉默2017-05-15 16:56:49
Il est recommandé d'utiliser angular
de ui-router
, qui est très pratique et très puissant. Je vais voir si j'ai le temps et écrire une petite démo pour vous.
Supplément :
J'ai pris le temps d'écrire une démo pour vous
Le code du fichier HTML est le suivant :
<body ng-app="MyApp" ng-controller="MyController as vm">
<h1>A demo of ui-router</h1>
<ul class="menu">
<li class="item">
<a ui-sref="personal-setting" ui-sref-active="item-active">个人设置</a>
</li>
<li class="item">
<a ui-sref="account-setting" ui-sref-active="item-active">账号设置</a>
</li>
<li class="item">
<a ui-sref="hello-setting" ui-sref-active="item-active">随便看看</a>
</li>
</ul>
<hr/>
<p ui-view>初始化状态...</p>
</body>
Le code du fichier JS est le suivant :
(function(){
angular.module('MyApp', [
'ui.router',
'ngAnimate'
])
.config(config)
.controller('MyController', MyController);
config.$inject = ['$stateProvider', '$urlRouterProvider'];
MyController.$inject = [];
function config($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise('setting/default');
$stateProvider
.state('account-setting',
{
url: 'setting/account',
templateUrl: 'template/account-setting.html'
})
.state('personal-setting',
{
url: 'setting/personal',
templateUrl: 'template/personal-setting.html'
})
.state('hello-setting',
{
url: 'setting/hello',
templateUrl: 'template/hello-setting.html'
})
.state('default-setting',
{
url: 'setting/default',
templateUrl: 'template/default-setting.html'
})
}
function MyController(){
var vm = this;
}
})();
Le code du fichier CSS est le suivant :
h1{
text-align: center;
}
.menu{
list-style: none;
}
.menu .item{
display: block;
width: 80px;
height: 30px;
margin-top: 2px;
}
.menu .item a{
display: block;
width: 80px;
height: 30px;
background-color: black;
color: red;
text-decoration: none;
text-align: center;
line-height: 30px;
}
.item-active{
background-color: red !important;
color: black !important;
}
J'espère que cela vous aidera.
巴扎黑2017-05-15 16:56:49
<p ng-controller="PersonController">
<p class="menu-item" ng-class="peopleprofile ? 'peoplesetting-nav-style' : 'peoplesetting-nav'">
<a class="peoplesetting-title-style" ng-click="go('peopleProfile', 'peopleprofile')">
<i class="fa fa-cog"></i>个人设置
</a>
</p>
<p class="menu-item" ng-class="peoplesettings ? 'peoplesetting-nav-style' : 'peoplesetting-nav'">
<a class="peoplesetting-title-style" ng-click="go('peopleSettings', 'peoplesettings')">
<i class="fa fa-cog"></i>账号设置
</a>
</p>
</p>
PHP中文网2017-05-15 16:56:49
Propriétaire, pouvez-vous publier votre exemple complet ? J'ai besoin d'en tirer des leçons