рдХреЛрдб рдирдореВрдирд╛:
// app/router.js
const Router = EmberRouter.extend({
location: config.locationType,
rootURL: config.rootURL,
routerService: service('router'),
init() {
this.routerService.on('routeDidChange', () => {});
}
});
рдкреНрд░рдЬрдирди: https://github.com/ember-triage/emberjs-17791
PS router
EmberRouter
рднреА рддреЛрдбрд╝рддрд╛ рд╣реИред
рдбрд┐рд╕реНрдХ рдкрд░ рд╣рдорд╛рд░реА рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рд╛рдЙрдЯрд░ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХреЛ this._super(...arguments);
рдЗрдиреНрд╡реЛрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛https://github.com/efx/emberjs-17791/commit/8d8dd5afa1b9841742d1127a95689ab98c085632#diff -f3a28905860b2b069d07bb8e2cda60cR8
рдореЗрд░реА рддреНрд░реБрдЯрд┐; рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЖрдк рд░рд╛рдЙрдЯрд░ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд░реВрдЯрд┐рдВрдЧ рдИрд╡реЗрдВрдЯ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@efx рдХрд┐ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд░рд╛рдЙрдЯрд░ рд╕реЗрд╡рд╛ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐ рд╣реИ!
рдореИрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдПрдореНрдмрд░ 3.8 рдкрд░ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
рдХреЛрдб:
import EmberRouter from '@ember/routing/router';
import config from './config/environment';
import { set } from '@ember/object';
import { inject as service } from '@ember/service';
const Router = EmberRouter.extend({
location: config.locationType,
rootURL: config.rootURL,
router: service(),
routeHelpers: service(),
init() {
this._super(...arguments);
this.router.on('routeDidChange', () => {
// tracking with piwik, if the piwik object has been defined
if (typeof _paq === 'object') {
_paq.push(['trackPageView']);
}
// tracking with google analytics, if the ga method has been defined
if (typeof ga === 'function') {
return ga('send', 'pageview', {
'page': this.get('url'),
'title': this.get('url')
});
}
// set current route to the onla accordion, which will open
// it's corresponding accordion element
var onlaController = this.routeHelpers.controllerFor('onla');
set(onlaController, 'currentRouteName', this.router.currentRouteName);
});
}
});
рдЕрдкрд╡рд╛рдж:
Exception has occurred: RangeError
RangeError: Maximum call stack size exceeded
at Registry.isValidFullName (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:16657:20)
at Registry.has (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:16448:17)
at Registry.proto.validateInjections (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:16762:25)
at processInjections (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:15999:28)
at buildInjections (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:16040:7)
at injectionsFor (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:16051:12)
at FactoryManager.create (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:16116:13)
at instantiateFactory (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:15979:63)
at lookup (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:15907:12)
at Container.lookup (https://n204.crealogix.net:4200/assets/vendor-e2a60dfe5e2603e2bdff789c3cdefd1e.js:15751:14)
рдореИрдВ рдЕрдкрдиреЗ рдорд╛рд░реНрдЧ router.js
'DDCChange 'рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕реБрдирдХрд░ рдЕрдкрдиреЗ
DEPRECATION: рдЖрдкрдиреЗ "рдбреЗрдбрдЯреНрд░рд╛рдВрд╕рд┐рд╢рди" рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдкрджрд╛рд╡рдирдд рд╣реИред рдХреГрдкрдпрд╛ рд░рд╛рдЙрдЯрд░ рд╕реЗрд╡рд╛ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ "pathDidChange" рдИрд╡реЗрдВрдЯ рдХреЛ рд╕реБрдиреЗрдВред [deprecation id: deprecate-рд░реВрдЯрд░-рдИрд╡реЗрдВрдЯ] рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП https://emberjs.com/deprecations/v3.x#toc_deprecate -router- рдИрд╡реЗрдВрдЯ рджреЗрдЦреЗрдВред
рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП @ursqontis , рдЖрдк рд░рд╛рдЙрдЯрд░ рдХреЗ рднреАрддрд░ рд╕реЗ рд░рд╛рдЙрдЯрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ this.on('routeDidChange')
ред рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: https://github.com/efx/emberjs-17791/commit/8d8dd5afa1b9841742d1127a95689ab98c085632#diff -f3a289058602b069b07bb8e2cda60cR8
рдпрджрд┐ рдЗрд╕реЗ EmberRouter
рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╕реАрд╕реАред @pzuraq @rwjblue @chadhietala? рдпрджрд┐ рдпрд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдирд╣реАрдВ рд╣реИ, рддреЛ рдореБрдЭреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ RFC рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕реЗ рдмрдЧ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рд╕рд░реНрд╡рд┐рд╕ рдЗрдВрдЬреЗрдХреНрд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд░рд╛рдЙрдЯрд░ рд╕реЗрд╡рд╛ рдЦреБрдж рд░рд╛рдЙрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ : рдЗрд╕рдореЗрдВ рдореБрдЦреНрдп рдЗрдВрдЬреЗрдХреНрд╢рдиред
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:
рдпрд╣рд╛рдБ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯрд░ рд╕реЗрд╡рд╛ _not_ рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ рд░реВрдЯрд░ рдХреА рддрд▓рд╛рд╢ рд╣реИ: рдореБрдЦреНрдп ...
@rjjblue , рд▓рд┐рдлреНрдЯ рдХрд┐рддрдиреА рдХрдард┐рди рд╣реИ? рдореИрдВ рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рдмрд┐рддрд╛рдКрдВрдЧрд╛ рдЬрдм рдореИрдВ рд░рд╛рд╕реНрддрд╛ рд╕рд╛рдл рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЕрдЧрд░ рдпрд╣ рд░рд╛рд╕реНрддрд╛ рд╕рд╛рдл рд╣реЛ рдЬрд╛рдП!
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЗрд╕ рд╕рдордп @chriskrycho рд╕реЗ рдЪреВрдХ рдЧрдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдСрдЯреЛ-рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕реАрдзрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рдмрд╣реБрдд рдХрдард┐рди рдирд╣реАрдВ"), рдФрд░ рдХреЗрд╡рд▓ рд░рд╛рдЙрдЯрд░ рд╕реЗрд╡рд╛ рдХреЛ рджреЗрдЦреЗрдВ рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдЬрд╛рдПред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП @ursqontis , рдЖрдк рд░рд╛рдЙрдЯрд░ рдХреЗ рднреАрддрд░ рд╕реЗ рд░рд╛рдЙрдЯрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЗрд╡рд▓
this.on('routeDidChange')
ред рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: https://github.com/efx/emberjs-17791/commit/8d8dd5afa1b9841742d1127a95689ab98c085632#diff -f3a289058602b069b07bb8e2cda60cR8