如何在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