首页 \ 问答 \ Angular:将参数从$ routeProvider传递给控制器(Angular: Passing params from $routeProvider to controller)

Angular:将参数从$ routeProvider传递给控制器(Angular: Passing params from $routeProvider to controller)

我有多个路由调用相同的控制器,我想通过不同的变量。

// 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
}

我用这种方法的问题是,如果解决方案对象在其他路线上缺失,我的应用程序崩溃,我想传递可选参数。

有没有办法将特定的参数传递给控制器​​(来自路由提供者)?


谢谢


I have multiple routes that invoke the same Controller and I would like to pass different variables to it.

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

I know that I could use the "resolve" object:

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

To pass a value as a dependency:

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

My problem with that approach is that my app crashes if the resolve object is missing on other routes and I would like to pass optional params.

Is there any way to pass specific params to the Controller (from the route provider)?


Thank you


原文:https://stackoverflow.com/questions/27533386
更新时间:2019-10-26 18:52

相关问答

更多
  • Linux 安装前的准备工作   1.用Windows 系统收集硬件信息   在安装L i n u x 之前,您需要借助Windows 系统了解计算机硬件的基本信息,如内存大小、声卡、显示器、鼠标和显卡型号等。   2.设置从光盘引导系统   Linux支持几种安装方式,但直接以光盘开机启动进行安装最方便和快速。若要机器以光盘启动,需要修改BIOS 的设置,将CD-ROM 变更至开机顺序的第一位。   3.Linux 分区   Linux 分区的表示方法   分区就是将磁盘驱动器分隔成独立的区域,每个区域都 ...
  • Linux和Windows的区别 和Linux 一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口、网络和安全性。但是,Linux和Windows的真正区别在于,Linux 事实上是Unix的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在于对多用户机器来说,Unix是最流行的操作系统,而且在于它是免费软件的基础。在Internet上,大量免费软件都是针对Unix系统编写的。由于有众多的Unix厂商,所以Unix也有许多实现方法。没有一个单独的组织负责Unix ...
  • 内核不一样啊 linux最大的特点是开源的,就是开放原代码,只要你会编程,你就可以加入linux系统编写 WindowsNT是不会公开源代码的 安全方面的区别 对于WindowsNT,只要你对某个文件设置了所有人不可写的安全属性(也就是文件权限咯),无论在哪个文件夹中都是不可以删除的,不管他所在的文件夹的安全属性是什么。 当大家习惯了Windows的安全属性设置后,形成一个观念,文件是否可以删除是取决于这个文件的安全属性。我本来也有这个概念。 然后我们来看看日益增多的Linux系统。我用的是RedHat和红 ...
  • 1. Linux的操作比较复杂,windows的比较简单. Linux速度比较快,安全性比windows好 但是有很多软件只能在windows里运行 与Linux兼容的软件正在开发中. Linux适用在网络方面. 2. 什么是Linux? 简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基 于 Intel x86系列 CPU的计算机上。这个系统是由世界各地的成千上万的程序员 设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自 由使用的 ...
  • Linux的操作比较复杂,windows的比较简单. Linux速度比较快,安全性比windows好 但是有很多软件只能在windows里运行 与Linux兼容的软件正在开发中. Linux适用在网络方面. Linux和Windows的区别 和Linux 一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口、网络和安全性。但是,Linux和Windows的真正区别在于,Linux 事实上是Unix的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在于对多用户机器来 ...
  • Windows和Linux都有一定的优缺点。Windows易于安装和运行,因为它有一套预设模式,其中包括一系列几乎支持各种类型硬件运行的驱动,可选用的软件也最为丰富。但是,它总是会频繁地出现安全问题,或是要求安装关键的补丁程序,这种情况下通常会需要进行重启。Windows的价格也是比较昂贵的,从最初操作系统和应用程序的购买到后来为保证系统运行稳定所需的日常维护和升级,都需要一定的费用。而在选择Linux之前,你要仔细考虑一下可供自己选择、适合自身硬件(包括主板)的驱动,看它是否支持新发行的硬件(比如说Int ...
  • 1. Linux的操作比较复杂,windows的比较简单. Linux速度比较快,安全性比windows好 但是有很多软件只能在windows里运行 与Linux兼容的软件正在开发中. Linux适用在网络方面. 2. 什么是Linux? 简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基 于 Intel x86系列 CPU的计算机上。这个系统是由世界各地的成千上万的程序员 设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自 由使用的 Unix兼容产品。 ...
  • LInux的源代码公开 而windows的源代码不公开
  • 1. Linux的操作比较复杂,windows的比较简单. Linux速度比较快,安全性比windows好 但是有很多软件只能在windows里运行 与Linux兼容的软件正在开发中. Linux适用在网络方面. 2. 什么是Linux? 简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基 于 Intel x86系列 CPU的计算机上。这个系统是由世界各地的成千上万的程序员 设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自 由使用的 Unix兼容产品。 ...
  • 与Linux的不断发展。Linux 的设计定位于网络操作系统,会去做不同的事情,只需要设计批处理文件就可以让系统自动完成非常详细的任务:Internet Explorer中有一个智能的MIME类型检查,但是问题仍然存在,大部分的配置文件都存放于一个目录树 (/。我们本文所使用的操作系统。例如。所以除了Linux内核之外、网络和安全性。 微软的重点显然是支持应用程序的安全性。它们支持同样的用户接口,因此不必经常重新引导(与Windows系统的设计相对而言)。我们将在“ 第 2 部分,两者都可以使操作系统更 ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。