0

这段代码有更短的版本吗?我也在使用 ui-router.js。代码只是我菜单的摘录。

   function ($stateProvider, $routeProvider, $urlRouterProvider) {
        var home = {
            name: 'home',
            url: '/',
           templateUrl: 'partials/home.php',
        };

        var newarticle = {
            name: 'newarticle',
            url: '/newarticle',
            templateUrl: 'partials/newarticle.php',
        };




        $stateProvider
            .state(home);

        $stateProvider
            .state(newarticle);
4

1 回答 1

0

有几种方法可以做到,但都不是特别令人满意。

第一个是简单地将每个人都放在另一个文件中保存的 1 个大对象文字中,这样您就可以在一个地方轻松添加/编辑路由。然后只需在应用程序引导时使用 $stateProvider 循环它们。

然后将这个大对象文字作为 .json 文件进行扩展,并在应用程序引导时动态加载它。

但我不认为这两个真的对你有多大帮助。

我过去在具有许多非常相似的路由(例如纯 MVC 样式路由)的项目中所做的是有一个繁重的任务,它根据读取控制器和视图目录为我生成路由对象文字以确定哪些路由制作。这工作得很好,你可以设置 grunt 作为你的开发服务器的一部分(你正在使用 grunt 对吗??)。它必须是您应用程序之外的脚本,因为 Angular 本身在浏览器中运行时无法动态读取您的控制器目录...

http://gruntjs.com/

于 2013-09-05T13:01:41.263 回答