当前位置: 首页 > 面试题库 >

Angular:将参数从$ routeProvider传递给控制器

萧琛
2023-03-14
问题内容

我有多个调用同一控制器的路由,我想将不同的变量传递给它。

// Example
$routeProvider.
  when('/a', {
    templateUrl: 'test.html',
    controller: 'MyController' // should get passed 'exampleA'
  }).
  when('/b', {
    templateUrl: 'test.html',
    controller: 'MyController' // should get passed 'exampleB'
});

我知道我可以使用“解决”对象:

$routeProvider.
  when('/a', {
    templateUrl: 'test.html',
    controller: 'MyController',
    resolve: {test: function() { return true; }}
});

传递值作为依赖项:

app.controller('MyController', ['$scope', 'test', function ($scope, test) {
  console.log(test); // true
}

这种方法的问题是,如果其他路线上缺少resolve对象,则我的应用程序崩溃,并且我想传递可选的参数。

有什么方法可以(从路由提供者)将特定的参数传递给Controller?

谢谢


问题答案:

路由:

$routeProvider.
  when('/a', {
    templateUrl: 'test.html',
    controller: 'MyController',
    paramExample: 'exampleA'
  }).
  when('/b', {
    templateUrl: 'test.html',
    controller: 'MyController',
    paramExample: 'exampleB'
});

访问:在控制器中注入$ route,然后使用它

 app.controller('MyController', ['$scope', '$route', function ($scope, $route) {
      var paramValue = $route.current.$$route.paramExample;
      console.log(paramValue); 
 }


 类似资料:
  • 问题内容: 我正在尝试显示元素的二叉树,我使用ng-include递归地进行了遍历。 和之间有什么区别?在此示例中,它的行为完全相同,但是我在项目中使用了类似的代码,因此它的行为有所不同。我想是因为角度范围。也许我不应该使用ng- if,请向我解释如何做得更好。 pane.html是: 控制器是: 编辑:首先,我遇到指令ng-repeat比ng-if具有更高优先级的问题。我试图将它们合并,但失败了

  • 在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。控制器类是给您写代码来处理传入请求的地方,并从数据库中检索数据,并最终决定什么类型的返回结果会发送回浏览器。视图模板可以被控制器用来产生格式化过的HTML从而返回给浏览器。 控制器负责给任何数据或者对象提供一个必需的视图模板,用这个视图模板来Render返回给浏览器的HTML。最佳做法是:一

  • 问题内容: 我有一个登录屏幕,我想将登录ID从LoginController传递到MainController,因此我可以访问一些功能来更改密码和其他功能。 我这样加载控制器: Main.fxml绑定到MainController.java。有没有一种方法可以传递所需的用户ID,并在控制器的initialize()方法上对其进行访问? 问题答案: 用FXMLLoader加载控制器后,可以在调用sh

  • 问题内容: 我正在使用angularjs 1.4,在我的一个角度控制器中,我必须使用jQuery。但是当我尝试将其作为依赖项传递时,它无法正常工作。 我尝试下面的代码,但没有成功 我也尝试下面的代码,但没有成功 可以请一些指导我做错了什么。 问题答案: 您可以在应用程序模块内创建自己的常量,然后将依赖项注入到任何需要的地方。 我选择了常量,因为可以将其依赖项注入angular的配置阶段。 但是,当

  • 我试图将一个参数传递给我的@RESTController-Spring Boot类。 在@POSTMapping方法中,我想使用自定义Java类的方法来处理接收到的正文并返回响应。 Spring应用程序在应用程序中启动。Java语言控制器对象似乎是隐式创建的。 我已经尝试将构造函数添加到我的RESTController类中。但是我找不到用参数调用该构造函数的方法。 尽管我可以定义第二个构造函数,但

  • 我做了逻辑包,但是UI仍然有问题。我想做的是允许用户输入作业数量,在下一个窗口中,我想显示文本字段,他可以在其中输入每个作业的执行时间,换句话说,我应该显示文本字段n time,作为用户给定的作业数量。 这是我为第一个界面所做的: 这是我的控制器: 我不知道是否有方法将参数从控制器传递到FXML文件,并在FXML中执行循环。。请帮忙