gpt4 book ai didi

javascript - 如何通过两个路由运行两个 Controller ?

转载 作者:行者123 更新时间:2023-11-28 04:37:47 25 4
gpt4 key购买 nike

我有两个模块,其中有两条路线:

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
})
}

但是第二个 Controller 没有运行。如何使用两条路线运行两个 Controller ?

最佳答案

ng-route 用于 SPA 应用程序。

If you want to navigate to different pages in your application, but you also want the application to be a SPA (Single Page Application), with no page reloading, you can use the ngRoute module.

因此,您需要定义主模块,在其中配置路由并注入(inject)依赖项。示例:

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('');
}]);

这是您注入(inject)的 Controller :

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

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

注意语法。检查您使用的 Angular 版本的语法。

关于javascript - 如何通过两个路由运行两个 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44039650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com