AngularJS: how can I get $location.path to template

前端 未结 2 796
南旧
南旧 2021-02-01 12:39

I need current path from url in template (content of $location.path). But not via controller, because I have a lot of controllers (and I do not want to duplicate declaration of

2条回答
  •  太阳男子
    2021-02-01 13:15

    AngularJS template can only see what is available in a scope so you will need somehow to put $location service in a scope. There is one scope that is always available in AngularJS application called $rootScope so it could be use for your use-case.

    What you could do is to use run() method of a module to expose $location in the $rootScope:

    var myApp = angular.module('myApp', []).run(function($rootScope, $location) {
        $rootScope.location = $location;
    });
    

    this would make 'location' available in all templates so later on you could do in your template:

    Current path: {{location.path()}}
    

提交回复
热议问题