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

我想直接在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

});

以上是 如何在AngularJS上的HTML中直接访问模块的常量 的全部内容, 来源链接: utcz.com/qa/407082.html

回到顶部