javascript - AngularJs 在 app.config 中的回调中配置路由

标签 javascript angularjs angular-ui-router angular-routing

我正在开发一个应用程序,我需要路由必须加载动态模板,例如:

当我点击/myclient/#!/details 时,我需要从“myclient”目录加载模板。

我有一个 json API 可以为每个客户端响应此配置。

[{
    "path": "/",
    "templateUrl": "template/loja1/index.html",
    "controller": "homeController"
}, {
    "path": "/detail",
    "templateUrl": "template/loja1/detail.html",
    "controller": "homeController"
}];

因此,我在尝试将 angular.config 设置为此 API 响应的回调时遇到了问题。我还尝试在回调后设置路由。

我认为这个解决方案很合适。我做错了什么?

var app = angular.module("myApp", ['ngRoute']);

app.config(function($routeProvider, $locationProvider, $provide) {

    $locationProvider.hashPrefix('!');

    var API = $provide.factory('API', function($http) {
        return {
            getStore: function() {
                return $http.get("http://localhost:8080/resources/route");
            }
        };
    });

    var runRote = function(routes) {

        routes.forEach(function(route) {
            $routeProvider.when(route.path, {
                templateUrl: route.templateUrl,
                controller: route.controller
            });
        });
        $routeProvider.otherwise({
            redirectTo: "templates/404.html"
        });
    };

    var getRoutes = function(runRote) {
        API.$get().getStore().success(function(data, status) {
            runRote(JSON.stringify(data));
        }).error(function(data, status) {
            runRote();
        });
    };

    getRoutes(runRote);

});

最佳答案

德瑞卡!

使用@dfsq 发送的这个实现,它会工作,但是这部分

app.controller('homeController', function($route) {
    window.route = $route;
});

如果你使用 ui-route 则不是必需的。 否则,这个问题在/route,你可以使用localStorage保存你的json信息并重新加载页面。在我的测试中,它起作用了。

关于javascript - AngularJs 在 app.config 中的回调中配置路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28463184/

相关文章:

javascript - 使用 ng-repeat 有条件地应用过滤器

javascript - 预检响应在 Angular 方面无效

javascript - 将 ng-click 连接到 Controller 功能

javascript - Angular ui-router 多个 View 顺序重要吗?

javascript - 脚本从头到尾顺利运行,但没有出现预期的结果

javascript - 使用 jQuery AJAX 通过 PHP 将表单数组传递给 Javascript

javascript - 修改此node.js代码以输出.wav而不是.mp4?

javascript - 删除第一个和最后一个反斜杠?

出现滚动条时,css 伪元素(tr 外的三 Angular 形)位置未对齐

javascript - AngularJS 与 ui-router : Changing value of a parent dependency of from child's controller