ngView没有routeProvider?

时间:2013-09-01 14:13:23

标签: javascript angularjs

是否可以在不编写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>

还有另一种方法吗?。

1 个答案:

答案 0 :(得分: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