2017-05-18 31 views
1

は、私は2つのモジュールを有し、ここで二つの経路:案内モジュールの2つのコントローラを2つのルーティングでどのように動作させることができますか?

angular 
    .module('lang', ['ngRoute']) 
    .config('lang', ['$routeProvider', config]) 
    .controller('lang', lang); 

function config(route){ 
    route.when('/:lang/:page', { 
    template : '', 
    controller : lang 
    }) 
} 

及び経路:

angular 
    .module('guide', ['ngRoute']) 
    .config('guide', ['$routeProvider', config]) 
    .controller('guide', guide); 

function config(route){ 
    route.when('/:lang/guide', { 
    template : '/view/guide.html', 
    controller : guide 
    }) 
} 

が、第2のコントローラが実行されません。 2つのルートを使用して2つのコントローラを実行するには

答えて

0

SPAアプリケーションに使用するng-route。

アプリケーション内の別のページに移動したいが、ページリロードのないアプリケーションをSPA(シングルページアプリケーション)にしたい場合は、ngRouteモジュールを使用できます。

したがって、メインモジュール、コンフィグレーションルートを定義し、依存関係を注入する必要があります。例:

var app = angular.module('app',['ngRoute', 'firstModule', 'secondModule']); 
var configFunction = function($routeProvider){ 
$routeProvider 
.when('/:lang/:page', { 
    templateUrl: '/view/guide.html', 
    controller : 'FirstCtrl' 
})  
.when('/:lang/guide', { 
    templateUrl: '/view/guide2.html', 
    controller: 'SecondCtrl' 
}) 
configFunction.$inject = ['$routeProvider']; 

app.config(configFunction); 

app.config(['$locationProvider', 
    function ($locationProvider) { 
     $locationProvider.hashPrefix('');  
    }]); 

そして、これはあなたを注入コントローラです:

var app = angular.module('firstModule', []); 
app.controller('FirstCtrl',function(){}); 

var app = angular.module('secondModule', []); 
app.controller('SecondCtrl',function(){}); 

構文について注意してください。使用するAngularバージョンの構文を確認してください。

関連する問題