Javascript 如何通过两个路由运行两个控制器?
我有两个模块,其中有两条路线:Javascript 如何通过两个路由运行两个控制器?,javascript,html,angularjs,Javascript,Html,Angularjs,我有两个模块,其中有两条路线: angular .module('lang', ['ngRoute']) .config('lang', ['$routeProvider', config]) .controller('lang', lang); function config(route){ route.when('/:lang/:page', { template : '', controller : lang }) } 导向模块的设计和路线:
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
})
}
但是第二个控制器没有运行。如何使用两个路由运行两个控制器?ng用于SPA应用程序的路由 如果您希望导航到应用程序中的不同页面,但也希望该应用程序是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(){});
注意语法。检查您使用的角度版本的语法。ng路由用于SPA应用程序 如果您希望导航到应用程序中的不同页面,但也希望该应用程序是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(){});
注意语法。检查您使用的角度版本的语法