gpt4 book ai didi

javascript - 如果其主页在 angularJS 中,则添加类

转载 作者:行者123 更新时间:2023-11-27 23:48:38 27 4
gpt4 key购买 nike

如果它的索引,则在 body 标记中添加 else 删除类

app.js

angular.module('app', [
'ui.router',
'ngAnimate'
])
.config(
[ '$stateProvider', '$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider
.otherwise('/');

$stateProvider

.state("app", {
url: "",
templateUrl: 'tmpl/app.html'
})
.state('app.about', {
url: '/about',
templateUrl: 'tmpl/aboutus.html'

})
.state('app.result', {
url: '/result',
templateUrl: 'tmpl/search_result.html'

})
}
]
);

index.html

<body class="home" ng-class="" >

如果其主页 abc.com/,则添加类,否则删除添加的类,例如:abc.com/#/about

提前致谢卡纳根

最佳答案

有很多选项可以为主体创建一个 Controller 来处理此问题或使用指令或服务来执行此操作。最简单的选择是使用 $rootScope。

angular.module('app', [
'ui.router',
'ngAnimate'
])

.run(['$rootScope',function($rootScope){
$rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams){
//console.log(toState);
$rootScope.home = (toState.name == 'app');
});
}])
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider
.otherwise('/');

$stateProvider
.state("app", {
url: "",
templateUrl: 'tmpl/app.html'
})
.state('app.about', {
url: '/about',
templateUrl: 'tmpl/aboutus.html'

})
.state('app.result', {
url: '/result',
templateUrl: 'tmpl/search_result.html'

})
}]);

然后在html中...

<body class="home" ng-class="{'my-home-class':$root.home}">

我没有测试过这个。如果它不起作用,请在 toState 上执行 console.log 并查看不同页面上的值,并根据需要调整代码。

更新

我创建了一个plunker with a functional example 。我不确定您的 app.html 中有什么,但按照您的设置方式,我建议为我在示例中创建的 app.home 添加另一个状态。

关于javascript - 如果其主页在 angularJS 中,则添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32921503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com