我如何设置lang
和setEN
读取about
?
现场选择语言是个好方法吗?也许emberjs为此提供了其他方法?
我想改变router.get('applicationController').connectOutlet('about');
加载connectOutlet('about-' + lang )
。这样,我将加载about-pl
或about-en
取决于用户选择的语言。
这种情况会在更改语言后强制重新加载页面。我怎样才能做到这一点?因为当用户在“#/about”并选择新语言页面时应该重新加载加载about-language
。
App.Router = Em.Router.extend({
enableLogging: true,
location: 'hash',
lang: 'pl',
root: Em.Route.extend({
// EVENTS
setPL: function () {
this.set('lang', 'pl');
},
setEN: function () {
this.set('lang', 'en');
},
gotoAbout: Ember.Route.transitionTo('about'),
gotoProjects: Ember.Route.transitionTo('projects'),
gotoTechnology: Ember.Route.transitionTo('technology'),
gotoContact: Ember.Route.transitionTo('contact'),
index: Em.Route.extend({
route: '/',
connectOutlets: function (router, context) {
router.get('applicationController').connectOutlet('navbar', 'navbar');
},
// STATES
about: Em.Route.extend({
route: '/',
connectOutlets: function (router, context) {
console.log( router.get('lang') );
router.get('applicationController').connectOutlet('about');
}
}),
以其他方式,我可以使用语言作为路径的一部分,例如:#/en/about
. 但是如何更改#/about
to #/en/about
,#/contact
to#/en/contact
和其他方式存在问题。并且路径更复杂#/projects/12