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

使用Angular JS将常量注入其他模块配置

郤坚诚
2023-03-14
问题内容

我想在整个应用程序中共享一些变量,例如基本路径。这些变量需要在模块配置期间访问。我的意见是,我可以为此使用常量或提供程序。

我有几个模块,每个模块都有自己的路由配置。例如,在这些路由配置中,我想访问一些设置。

这适用于应用程序模块配置,但不适用于其他模块配置(对于其他模块上的控制器而言),我总是收到“未知提供者:来自myApp.orders的信息”。

var myApp = angular.module('myApp', ['myApp.orders']);



myApp.constant('info', {

  version : '1.0'

});



myApp.config(function(info) {

  console.log('app config: ' + info.version);

});



myApp.controller('MyController', function (info) {

  console.log('controller: ' + info.version);

});



var orders = angular.module('myApp.orders', []);



// Remove comments to see it fail.



//orders.config(function(info) {

//  console.log('orders config: ' + info.version);

//});


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>



  <div ng-app="myApp" class="container" ng-controller="MyController">

  </div>

我想我只是错过了一些细节,您有想法吗?


问题答案:

您的info常数在myApp模块中定义。如果我正确理解了您的问题,则希望在其他模块(例如myApp.orders模块)中使用常量。如果是这样,那么您需要将myApp注入myApp.orders中,但是看起来您想做相反的事情。一种解决方案是将常量解耦到独立模块中,并在需要时将其作为依赖项注入。

angular.module('constants', []) 
  .constant(...);

angular.module('myApp', ['constants', 'myApp.orders'])
  ...

angular.module('myApp.orders', ['constants'])
  ...


 类似资料:
  • 问题内容: 当使用angular 1.2代替1.07时,以下代码不再有效,为什么? 问题出在喷射器配置部分(app.config)中: 如果我没记错的话,这个问题是从1.1.6开始的。 问题答案: 该问题是由于缺少ngRoute模块而引起的。从1.1.6版开始,它是一个单独的部分:

  • 问题内容: 我有一个带有angular的应用程序,我需要使用这个库http://www.jointjs.com/,所以我下载了joint.min.js和joint.min.css并将它们的路由放置在index.html中,但是我不知道要在app.js中放入什么来注入它,而我一直在从角度获取注入错误。这可能不是这样做的方法吗?我搜索了很多,但是没有找到任何方法。我将不胜感激,在此先感谢您! 问题答案

  • 该部分 API 将帮助您使用其他 mBuild 电子模块。 注意:你需要额外购买包含 mBuild 电子模块扩展包或套装来获得 mBuild 模块以使用这些功能。 省略代码中的halocode 注意:该部分 API 省略了“halocode.”,本篇提及的所有 API 均省略了“halocode.” ,如 led_driver.off( )实际为halocode.led_driver.off()。

  • 问题内容: 我正在尝试用其他常量定义常量,但似乎无法完成,因为当所需常量依赖于它时,初始常量尚未准备就绪。我想确定这是否完全不可能。 目前,我有这样的常量: 后两个常数是我想要完成的 问题答案: 定义控制器,服务和其他控制器之间的依赖关系的角度方法是通过依赖关系注入(DI)。因此,如果您有一个依赖于服务B的控制器A,则必须像这样创建它。 可以看到,angular将检查serviceB依赖关系,并查

  • ssh 公私钥登录配置 第一步,在客户端生成公钥 ssh-keygen -t rsa #生成的公钥匙在 ~/.ssh/ 目录下 第二步,把公钥上传到服务器端,登录服务器追加公钥到 authorized_keys 文件 简单版 ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip 复杂版 scp id_rsa.pub root@ip地址:文件保存路径 ssh

  • 其他模块 (40%) Nginx的模块种类挺多的,除了HTTP模块,还有一些核心模块和mail系列模块。核心模块主要是做一些基础功能,比如Nginx的启动初始化,event处理机制,错误日志的初始化,ssl的初始化,正则处理初始化。 mail模块可以对imap,pop3,smtp等协议进行反向代理,这些模块本身不对邮件内容进行处理。 core模块 (40%) Nginx的启动模块 (40%) 启动