7

私は AngularJS でファイル編集アプリケーションに取り組んでいます。私のURLは次のようになります:

#/ファイル名.md

また

#/フォルダ/ファイル名.md

また

#/フォルダー/ネストされたフォルダー/別のフォルダー/itgoesonforever/filename.MD

深さごとにルートを作成する必要はありません。ルートの深さは最大 15 になる可能性があります。条件付きルートを持つ方法はありますか? 大雑把に:

/:fileorfolder?/:fileorfolder?/:fileorfolder?/:fileorfolder?
4

3 に答える 3

6

わかったと思います!秘訣は、テンプレートを simple に設定してから、スコープを変更してテンプレートへの動的パスを含めることです。

これで、 にファイルを配置し、/foo/bar/baz.htmlに移動してレンダリングされたテンプレートを確認できますserver.com/foo/bar/baz

// Routes
app.config( function($routeProvider) {
    $routeProvider

    // Home
    .when( '/', {
        templateUrl: 'home.html',
        controller: 'HomeController'
    })

    // Catch All
    .when( '/:templatePath*', {
        template: '<ng-include src="templatePath"></ng-include>',
        controller: 'CatchAllCtrl'
    })

});

// Catch All Controller
app.controller("CatchAllCtrl", function($scope, $routeParams) {
    $scope.templatePath = $routeParams.templatePath + '.html';
});
于 2014-05-20T21:58:00.400 に答える