就是这样ng-class
is for.
每当路径更改时,您都可以设置应用程序范围的变量 $rootScope.path。
app.run(function ($rootScope, $location) {
$rootScope.$on("$locationChangeStart", function (event, next, current) {
$rootScope.path = $location.path();
});
});
然后,您决定通过该变量设置动画类
如果你想设置班级slide
仅当路径不是/
,这样做
<div ng-view ng-class="{slide: path !== '/' }"></div>
通过这种方式,您不需要触摸任何控制器。
完整的演示在这里,http://plnkr.co/edit/rmu8oc7ycKzRaA2zv5JN?p=preview http://plnkr.co/edit/rmu8oc7ycKzRaA2zv5JN?p=preview
顺便说一句,这使用了 currant angularJS 版本,1.2.7
------- 编辑(访问主页后动画) ------
app.run(function ($rootScope, $location) {
$rootScope.$on("$locationChangeStart", function (event, next, current) {
if (!$location.path().match(/^\/?$/) && !$rootScope.mainVisitedOnce) {
$rootScope.mainVisitedOnce = true;
}
});
});
and
<div ng-view ng-class="{slide: mainVisitedOnce }"></div>
http://plnkr.co/edit/QpDFkdKH1kk6ZXy07G5X?p=preview http://plnkr.co/edit/QpDFkdKH1kk6ZXy07G5X?p=preview