我不想加载我的所有控制器。我发现了一些关于动态加载控制器但没有成功的文章。我试过了:
var premaApp = angular.module('premaApp', ['ngRoute']);
premaApp.config(function ($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: '/Home/Test',
controller: 'personController',
resolve: '/app/controllers/product.controller.js'
});
});
但我收到了一个错误。这样做的正确方法是什么?
答案 0 :(得分:0)
我认为您的问题出在resolve
,因为您以错误的方式使用它。
我这样做了:
$routeProvider
.when('/',
{
templateUrl: "newsView.html",
controller: "newsController",
resolve: {
message: function(messageService){
return messageService.getMessage();
}
}
})
解析包含一个或多个必须在路由更改之前成功解析的promise。这意味着您可以在显示视图之前等待数据可用,并简化控制器内部模型的初始化,因为初始数据是提供给控制器而不是控制器需要外出并获取数据。
您也可以这样做:
$routeProvider
.when('/',
{
templateUrl: "newsView.html",
controller: "newsController",
}
})
resolve
参数是可选的。
我希望有所帮助!
答案 1 :(得分:0)
这是在角度路由中使用不同视图和控制器的方法
.when('/', {
templateUrl: 'partials/homepage.html',
controller: 'Controller1'
})
.when('/test', {
templateUrl: 'partials/test.html',
controller: 'Controller2'
})
.when('/page/:pageId', {
templateUrl: 'partials/page.html',
controller: 'Controller2'
});