获取ember JS中的当前URL

Agu*_*era 5 javascript ember.js

我想在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'));
        }
     }
});
Run Code Online (Sandbox Code Playgroud)

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

如果我使用window.location.href工作,但并不总是如此.我认为当其他一切都完成时,didTransition被调用,但不是.

为什么?

提前致谢

rog*_*rog 5

didTransitiontransition您的代码建议实际上没有参数.

相反,你应该使用这样的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'));
        )};
    }
});
Run Code Online (Sandbox Code Playgroud)

参考: