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被调用,但不是.
为什么?
提前致谢
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)
参考:
afterModel:http://emberjs.com/api/classes/Ember.Route.html#method_afterModeldidTransition:http://emberjs.com/api/classes/Ember.Route.html#event_didTransition| 归档时间: |
|
| 查看次数: |
3704 次 |
| 最近记录: |