我有这样的路线设置:
var myApp = angular.module('myApp', []).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/landing', {
templateUrl: '/landing-partial',
controller: landingController
}).
when('/:wkspId/query', {
templateUrl: '/query-partial',
controller: queryController
}).
otherwise({
redirectTo: '/landing'
});
}]);
Run Code Online (Sandbox Code Playgroud)
我希望能够让angularjs在开始时下载部分内容,而不是在请求时下载.
可能吗?
我见过几个AngularJS项目模板:官方网站上的种子项目,Yeoman的生成和AngularFun.
是否有任何其他(非)固定的模板我应该看一下,或者您建议的可扩展AngularJS项目的任何相关模式?
通过可扩展我的意思
我已经配置了一些在登录之前可供所有用户使用的基本路由:
App.config(function ($routeProvider) {
$routeProvider.
when('/login', { templateUrl: 'views/login.html', controller: PageStartCtrl.Controller }).
otherwise({ redirectTo: '/login' });
});
Run Code Online (Sandbox Code Playgroud)
所以用户唯一能做的就是登录.用户登录后,我想注册其他路由,如下所示:
$http
.post('api/Users/Login', { User: userName, Password: userPassword })
.success(function (response : any) {
App.config(function ($routeProvider) {
$routeProvider
.when('/dashboard',
{ templateUrl: 'part/dashboard.html',
controller: DashboardCtrl.Controller });
});
Run Code Online (Sandbox Code Playgroud)
但是,我想我应该只调用一次.config方法,因为$ routeProvider是一个对/ login route一无所知的全新实例.进一步的调试向我展示了在解析视图更改时使用$ resourceProvider的第一个实例.
问:以后如何注册路线?
从路由和模板动态添加到$ routeProvider的解决方案可能有效,但是非常难看(涉及全局变量nastyGlobalReferenceToRouteProvider).