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

如何在AngularJS上的HTML中直接访问模块的常量

雍兴修
2023-03-14
问题内容

我想直接在html中使用几个常量(在控制器中几次)。

例如,这是主要的应用程序模块:

angular.module('website', [])
.constant('ROUTES', (function () {
    return {
        SIGN_IN: '/sign/in'
  }
})())
.config([..., 'ROUTES', function(..., ROUTES {
    $routeProvider.when(ROUTES.SIGN_IN, {templateUrl: 'pages/sign_in.html', controller:     'SignInController'});
}]);

因此,很清楚如何使用控制器中的常量

但是我该怎么做:

<html ng-app="website"> 
<body>
<a href="{{ROUTES.SIGN_IN}}">Sign in</a>
</body>
</html>

关键是将所有路线都放在一个地方。所以,我可以这样做,还是我选择了错误的方式?


问题答案:

恕我直言,更好的方法是使用$ rootScope。 在html中,每个范围都继承自$
rootScope,因此,如果当前作用域中不存在变量,则使用$ rootScope中声明的变量。

一种好的(IMHO)方法是在 运行 “阶段”中对此进行初始化

angular.module('myApp')
  .run(function ($rootScope) {
      $rootScope.ROUTES = ROUTES
   });


 类似资料:
  • 我安装了tomcat。根文件夹是/var/lib/tomcat7/webapps/Root,它有一个索引。html文件。该文件可以作为服务器ip:8080访问,但服务器ip:80/索引。html返回404。为什么会这样?

  • 问题内容: AngularJS访问cookie的方式是什么?我看到过同时引用Cookie的服务和模块的信息,但没有示例。 有没有,或者没有AngularJS规范方法? 问题答案: 该答案已更新,以反映最新的稳定angularjs版本。一个重要的注意事项是周围有薄薄的包装纸。它们几乎相同,因为它们仅与会话cookie一起使用。虽然,这回答了原始问题,但是您可能还需要考虑其他解决方案,例如使用loca

  • 问题内容: 现在我不明白如何访问另一个模块上定义的服务状态? 我不应该对吗?但是我不知何故…或者这是正确的行为吗? 问题答案: 甲模块在配置和运行块的集合,其获得在引导过程中施加到该应用程序。模块可以列出其他模块作为它们的依存关系。根据模块上意味着 需要 将之前加载模块的需求 ,需要 加载的模块。 注入模块时,服务会在配置阶段进行注册,并且可以访问它们,因此总而言之,这是Angular中正确行为和

  • 我正在编写一个处理多个系统的应用程序。用户可以选择他想使用的系统,我将该系统ID存储在会话(客户端会话)中 现在我有了服务类,比如说CustomerService。 我想使用 Guice 将客户实例注入控制器。但是我想使用存储在会话中的系统ID实例化客户服务。 如何访问<code>请求。Guice模块中的会话? 编辑: 简化了我上面的代码。我的实际代码使用接口。我如何使用辅助注射? 这给了我:客户

  • 问题内容: 我正在尝试直接为嵌入式Linux项目访问物理内存,但是我不确定如何最好地指定使用的内存。 如果我定期引导设备并访问/ dev / mem,则可以轻松地对其几乎任何位置进行读写。但是,在这种情况下,我正在访问可以轻松分配给任何进程的内存。我不想做 我的/ dev / mem代码是(删除了所有错误,等等。): 这可行。但是,我想使用没有其他人会碰到的内存。我尝试通过使用mem = XXXm

  • 这是运行命令后发生的情况: 启动:pid=4346 port=27017 dbpath=/var/lib/mongodb/data/db 64位host=era-inspiron-5559 2017-02-12T14:39:18.644+0530 I CONTROL[initandlisten]db版本v3.4.2 2017-02-12T14:39:18.644+0530 I控件[initandl