javascript - AngularJS - 在 Controller 名称中使用 NgRoute 的参数

标签 javascript angularjs routes angularjs-routing ngroute

我在 AngularJS 中设置了一 strip 有可变参数的路由。

这是 this question 的扩展;我可以在变量 templateUrl 中使用 params ,如下所示:

.when('/course/:lesson', {
    templateUrl: function(params){
         return '/partials/course/' + params.lesson;
    }
    //...
})

但是,如果我尝试对变量 Controller 名称执行某些操作,则会收到未知提供程序错误

.when('/course/:lesson', {
    templateUrl: function(params){
         return '/partials/course/' + params.lesson;
    },
    controller: function(params){
         return params.lesson + 'Ctrl';
    }
})

基本上,我不想编写 100 条完全遵循相同结构的不同路线,而是想采用 lesson 变量并将其映射到 /partials/course/{{ Lesson}} 路线以及 {{lesson}}Ctrl Controller 。

这可能吗?

最佳答案

你可以做如下的事情,而不是更干净的事情。但它会起作用

controller: function($scope, $controller, $routeParams){
     $controller($routeParams.lesson + 'Ctrl', {$scope: $scope});
}

如果你看看ui.router,处理这种情况会更容易,其中有 controllerProvider这会像你尝试的那样工作。

关于javascript - AngularJS - 在 Controller 名称中使用 NgRoute 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36951981/

相关文章:

javascript - 如何通过对象构造url参数

javascript - 如何迭代 Angular 数据表中的过滤行

angularjs - 似乎无法将数据从一个 Controller 传递到另一个 Controller

Angular:子路由未正确更新

node.js - NodeJS路由: all routes with authentication except first page

javascript - html 和 javascript 网页的密码验证

javascript - 如何使用 dropzone.js 收集数据 URI 内容?

javascript - 无法在 d3js 条形图上定位工具提示

javascript - 使用 CSS 在单选按钮图像上显示覆盖

java - 如何将动态网站(java,spring)作为另一个网站(java)中的网页加载