是否可以在不编写routeProvider
的情况下使用ng-view,即通过在标记部分中包含路径(我意识到混合逻辑和视图不是最佳设计,但在这种情况下可能是可接受的,因为它实际上是一个条件模板)。我的路由提供者有角度指令的硬编码模板:
spaceJam.config(function($routeProvider, $locationProvider) {
$routeProvider.
when('/images', {
template: '<ng-my-image-editor></ng-my-image-editor>'
}).
when('/videos', {
template: '<ng-my-video-editor></ng-my-video-editor>'
}).
when('/calendar', {
template: '<ng-my-calendar-editor></ng-my-calendar-editor>'
}).
otherwise({redirectTo: '/images'}) ;
$locationProvider.html5Mode(false);
});
取而代之的是:
<ng-view>
<ng-view-selection when="/images" default><ng-my-image-editor></ng-my-image-editor></ng-view-selection>
<ng-view-selection when="/videos"><ng-my-video-editor></ng-my-video-editor></ng-view-selection>
<ng-view-selection when="/calendar"><ng-my-calendar-editor></ng-my-calendar-editor></ng-view-selection>
<ng-view>
还有另一种方法吗?。
答案 0 :(得分:2)
如果您不需要使用控制器,ng-include对您来说是最好的选择。
另外我建议看一下angular-ui-router的$ state / $ stateProvider和ui-view,在我看来,这是一种比标准$ routeProvider更好的路由方法。