javascript - 如何使用 ngRoute 在 templateUrl 中使用 URL 参数?

标签 javascript angularjs url-routing ngroute

<分区>

我正在构建一个 angularjs 应用程序,我的 app.js 看起来像这样。但是,它会抛出 Unknown provider: $routeParams 错误。知道为什么吗?

var angularSite = angular.module('angularSite', [
  'ui.router',
  'ngRoute',
  'siteController',
  'siteDirectives'
])
.config(['$routeProvider', '$routeParams',
  function($routeProvider,$routeParams) {
    $routeProvider.
      when('/Projects', {
        templateUrl: 'partials/projects.html',
        controller: 'ProjectController'
      }).
      when('/Projects/:projectId', {
        template: 'partials/pages/'+$routeParams.projectId+'.html',
        controller: 'ProjectDetailController'
      }).
      otherwise({
        redirectTo: '/About'
      });
  }]);

最佳答案

$routeParams是一项服务,不能注入(inject).config

如果您想通过 URL 参数设置您的 templateUrl,正确的方法是使用一个函数来设置 templateUrl(如下所示):

.when('/Projects/:projectId', {
    templateUrl: function(params) { // <-- 
        return 'partials/pages/' + params.projectId + '.html'    
    },
    controller: 'ProjectDetailController'
})

关于javascript - 如何使用 ngRoute 在 templateUrl 中使用 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22973439/

相关文章:

javascript - 咕噜声 : Access YAML symbols in external file

javascript - AngularJS:显示和更新 ng-repeat 的每个元素的进度条

c# - 从不带 .ashx 扩展名的 URL 访问 ASHX

node.js - express 路线参数条件

javascript - Sammy.js 读取路由 &,?

javascript - 避免在 JavaScript 继承中使用 new

javascript - 如何处理 Windows Phone 8 HTML5 + JavaScript 游戏的分辨率?

javascript - 点击URL不规则highcharts图

javascript - 使用两个工厂 AngularJS

ruby-on-rails - 如何使用 coffeescript 获取当前年份