admin管理员组

文章数量:1410717

I'm trying to get the current url in emberJS but I cannot. I am doing this:

App.Route = Ember.Route.extend(Em.I18n.TranslateableProperties, {
    actions: {
        didTransition: function (transition) {
            this._super();
            console.log(window.location.href);
            console.log(this.get('router.url'));
        }
     }
});

I used to use didTransition because I need to know the current URL when all elements are load. For example: If I am in home(/home) page and navigate to contact page(/contact-page), I want to know the url '/contact-page'.

If I use window.location.href works, but not always. I thought that didTransition was called when everything else is finished, but not.

Why?

Thanks in advance

I'm trying to get the current url in emberJS but I cannot. I am doing this:

App.Route = Ember.Route.extend(Em.I18n.TranslateableProperties, {
    actions: {
        didTransition: function (transition) {
            this._super();
            console.log(window.location.href);
            console.log(this.get('router.url'));
        }
     }
});

I used to use didTransition because I need to know the current URL when all elements are load. For example: If I am in home(/home) page and navigate to contact page(/contact-page), I want to know the url '/contact-page'.

If I use window.location.href works, but not always. I thought that didTransition was called when everything else is finished, but not.

Why?

Thanks in advance

Share asked Mar 30, 2015 at 16:24 Agustin HerreraAgustin Herrera 4036 silver badges16 bronze badges 3
  • Is nothing logged or do you get empty logs? Just tried it in didTransition and it works fine for me. – Mårten Commented Mar 30, 2015 at 17:07
  • Why do you want to know the URL? What are you going to do with it? – user663031 Commented Mar 30, 2015 at 17:08
  • Hi! I need to know the URL because I have to pare with an local object – Agustin Herrera Commented Mar 31, 2015 at 6:58
Add a ment  | 

1 Answer 1

Reset to default 5

didTransition doesn't actually have a transition argument as your code suggests.

Instead, you should use the afterModel method like so:

App.Route = Ember.Route.extend(Em.I18n.TranslateableProperties, {
    afterModel: function(resolvedModel, transition) {
        var _this = this;  // keep a reference for usage in then()
        transition.then(function() {
            console.log(_this.get('router.url'));
        )};
    }
});

Reference:

  • afterModel: http://emberjs./api/classes/Ember.Route.html#method_afterModel
  • didTransition: http://emberjs./api/classes/Ember.Route.html#event_didTransition

本文标签: javascriptGet Current URL in ember JSStack Overflow