我对app.run()有问题。在主页上app.run()正在运行。当我单击菜单按钮“事件”时,在页面中,events.html app.run()不起作用。但是,当我重新加载此页面时,app.run()正在工作。我不知道该怎么办。页面main.html和events.html位于ngView中,菜单也位于ngView中。
controller.js
afroEarthApp.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/',{
templateUrl:'template/home.html',
controller:'afroEarthMainCtrl'
})
.when('/events',{
templateUrl:'template/events.html',
controller:'eventsCtrl'
})
.when('/sites/:niche', {
templateUrl:'template/single.html',
controller:'SingleCtrl'
})
.otherwise({
redirectTo: '/'
})
}]);
afroEarthApp.controller('afroEarthMainCtrl',['$scope','$http','$location','$cookies', '$rootScope', '$route', function($scope, $http, $location, $cookies, $rootScope, $route) {
...some code...
}]);
afroEarthApp.controller('eventsCtrl',['$scope','$http','$location','$cookies', '$rootScope', '$route', function($scope, $http, $location, $cookies, $rootScope, $route) {
...some code...
}]);
afroEarthApp.run(['$log', '$rootScope', '$route', function ($log, $rootScope, $route) {
$rootScope.$on('$viewContentLoaded', function ($rootScope, $route) {
...some code...
})
}]);
home.html
<ul class="nav navbar-nav navbar-right">
<li><a class="page-scroll" href="#websites">Lifestyle sites</a></li>
<li><a class="page-scroll" href="stories">Success Stories</a></li>
<li><a href="#/events" data-target="#events" target="_self">Events</a></li>
<li><a class="page-scroll" ng-href="http://{{singleNiche.url}}.afroearth.com/login/">Login</a></li>
<li class="other-countries">
<a href="#">
{{singleNiche.country}}<img src="{{singleNiche.countryFlag}}"><i class="icon-caret-down"></i>
</a>
<ul>
<li ng-repeat="country in singleNiche.countries"><a ng-click="setCountry(country.url)" >{{country.name}}</a></li>
</ul>
</li>
</ul>
你能帮我吗?
最佳答案
在您的app.run中添加以下内容
$rootScope.$on('$locationChangeStart', function (event, nextLocation, currentLocation) {
//your code here
});
每次更改网址时都会调用此函数。
关于javascript - AngularJS app.run无法加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36476876/