簡體   English   中英

在視圖中訪問AngularJS常量

[英]Access AngularJS constant in a view

我要試着描述這個場景,請跟我說。

我有一個名為Urls的Angular常量,它填充了路由和一些訪問它們的方法。

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?

不可能。 您需要在控制器$scope (或使用$parent )中注入Urls ,因為{{ var }}被內插到$scope.var

如果你注入沒有任何性能問題Urls在控制器和寫$scope.Urls = Urls

例:

angular.module('myapp').controller('myController', ($scope, Urls) {
  $scope.Urls = Urls;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM