我会试着描述一下这个场景,请跟我说。
我有一个名为Urls的角度常量,其中包含路径和一些访问它们的方法。
app = angular.module "app"
app.constant "Urls",
routes:
# Main stuff
overview: "/"
users: "/users"
user: "/users/:id"
overview: ->
return @.routes.overview
users: ->
return @.routes.users
user: (id)->
return @.routes.user
.replace(":id", id)
使用常量的原因是我需要在应用程序的配置阶段访问它,并在控制器中使用它。
我想要实现的是我想在视图中使用它,例如;
<ul class="foo">
<li ng-repeat="user in users">
<a href="{{Urls.user(user.id)}}">
{{user.name}}
</a>
</li>
</ul>
有没有办法实现这样的目标?最好不要将Urls常量赋给$ rootScope或将其分配给每个控制器$ scope?
答案 0 :(得分:11)
不可能。您需要在控制器Urls
(或使用$scope
的父级)中注入$parent
,因为{{ var }}
已内插到$scope.var
如果在控制器中注入Urls
并写入$scope.Urls = Urls
示例:
angular.module('myapp').controller('myController', ($scope, Urls) {
$scope.Urls = Urls;
}