5

是否可以在不编写 a 的情况下使用 ng-view routeProvider,即通过在标记部分中包含路由(我意识到混合逻辑和视图不是最好的设计,但在这种情况下可能可以接受,因为它实际上是一个条件模板) . 我的路由提供者有硬编码模板到角度指令:

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>

还有另一种方法吗?

4

1 回答 1

2

如果您不需要使用控制器,那么 ng-include 对您来说是最好的选择。

另外,我建议查看 angular-ui-router 的 $state / $stateProvider 和 ui-view,在我看来,这是一种比标准 $routeProvider 更好的路由方法。

http://docs.angularjs.org/api/ng.directive:ngInclude

https://github.com/angular-ui/ui-router/wiki

于 2013-09-04T19:44:17.990 回答