2017-05-16 33 views
-3

我有一个非常简单的问题,但不幸的是我不知道如何谷歌它。角度第一视图

当我第一次加载页面时我想那个角度显示我在<div ng-view>自动第一个内容,后来是没有问题的我,因为我使用$routeProvider,当我做一些路线,内容重装但如何做到这一点的页面时没有任何用户的操作自动加载角度显示第一个视图?

,以便更好地理解我的意思,这是代码从我的其他应用程序:

<!DOCTYPE html> 
 
<html> 
 
\t <head> 
 
\t \t <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 
\t \t <link rel="stylesheet" href="/app.css"> 
 
\t </head> 
 
\t <body ng-app='app' ng-controller='ApplicationCtrl'> 
 
\t \t <nav class='navbar navbar-default'> 
 
\t \t \t <div class='container'> 
 
\t \t \t \t <ul class='nav navbar-nav'> 
 
\t \t \t \t \t <li><a href='/'>Posty</a></li> 
 
\t \t \t \t \t <li><a class='register' href='/register'>Rejestracja</a></li> 
 
\t \t \t \t \t <li><a class='login' href='/login'>Logowanie</a></li> 
 
\t \t \t \t </ul> \t \t \t \t 
 
\t \t \t \t <p ng-if='currentUser' class='navbar-text navbar-right'> 
 
\t \t \t \t \t Zalogowany jako {{currentUser.username}} 
 
\t \t \t \t </p> 
 
\t \t \t </div> 
 
\t \t </nav> 
 
\t \t <div ng-view></div> 
 
\t \t <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.2/angular.min.js"></script> 
 
\t \t <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular-route.js"></script> 
 
\t \t <script src="/app.js"></script> 
 
\t </body> 
 
</html>

这里是角航线代码:

angular.module('app') 
 
.config(function($locationProvider, $routeProvider){ 
 
\t $locationProvider.html5Mode({ 
 
    \t \t enabled: true, 
 
    \t \t requireBase: false 
 
\t }); 
 
\t $routeProvider 
 
\t .when('/', {controller:'PostsCtrl', templateUrl: 'posts.html'}) 
 
\t .when('/register', {controller: 'RegisterCtrl', templateUrl: 'register.html'}) 
 
\t .when('/login', {controller: 'LoginCtrl', templateUrl: 'login.html'}); 
 
});

所以在那个应用程序中,div首先是空的,当我路由到正确的路线时,如/ login,例如一些上下文显示,我现在想要做的是该div有一些首先在用户行为中改变的内容

+0

你是什么意思的“ng视图中的第一个内容? – Basilf

+0

上传代码将帮助我们也帮助你 – DDelgro

+0

抱歉,我的意思是仪表板的第一个内容,然后在同一个div内容应根据用户点击在导航栏上,例如他/她的个人资料 – Maciek

回答

0

您可以使用run()在应用程序启动时执行代码,例如触发注册路径以在应用程序启动时激活。

run()config()之后执行,其中最有可能使用angular-route的路线已被定义。

下面是一个例子:由于使用$location服务的path()方法内app.run()语句

var app = angular.module('myApp', ['ngRoute']); 

app.config(function($routeProvider) { 
    $routeProvider 
    .when("/", { 
     templateUrl : "main.html" 
    }) 
    .when("/contact", { 
     templateUrl : "contact.html" 
    }); 
}); 

app.run(function($location) { 
    // load /contact path on startup 
    $location.path('/contact'); 
}); 

app.controller('MainCtrl', function($scope) { 
    $scope.name = 'World'; 
}); 

路径“/接触”在启动时激活。

这是演示功能的plunker

希望这有助于!

+0

是的,这就是我所寻找的非常感谢你和对不起,我编辑我的帖子这么多时间,但我仍然在学习使用stackoverflow。 – Maciek