2017-05-16 65 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