AngularJS $ stateProvider的简写

时间:2013-09-05 11:05:12

标签: angularjs route-provider

这段代码有更短的版本吗? 我也在使用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);

1 个答案:

答案 0 :(得分:0)

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

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

然后扩展为将此大对象文字替换为.json文件,并在应用程序引导程序中动态加载它。

但我不认为这些对你有任何帮助。

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

http://gruntjs.com/