获取ember JS中的当前URL

Get Current URL in ember JS

本文关键字:URL ember JS 获取      更新时间:2023-09-26

我试图在emberJS中获取当前url,但无法。我在做这个:

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'));
        }
     }
});

我曾经使用didTransition,因为当加载所有元素时,我需要知道当前的URL。例如:如果我在主页(/home)并导航到联系人页面(/contact page),我想知道url"/contact page'。

如果我使用window.location.href可以工作,但并不总是如此。我以为didTransition是在其他一切都完成时调用的,但事实并非如此。

为什么?

提前感谢

didTransition实际上并不像代码所建议的那样具有transition参数。

相反,您应该使用afterModel方法,如下所示:

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'));
        )};
    }
});

参考:

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