이 emberjs bug report에서는 이러한 종류의 라우트 구성을 가지지 않는 것으로 설명합니다. 그럼에도 불구하고 동일한 기능을 원할 경우 시도해보십시오. 이것이 당신에게 효과가 있는지 알려주십시오.
Twiddle Link
나는 profile-index
경로,
이
- 그것의 경로가 확장 자사의 컨트롤러는 확장
index
경로를 생성 index
컨트롤러
- 그 템플릿을 사용하면 모든 파일의 특정을 사용합니다 일반적으로
index.hbs
입니다 index
로로 전달
router.js
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: 'none',
rootURL: config.rootURL
});
Router.map(function() {
// BOTH '/' and '/user123' will work now
this.route('index',{path: '/'});
this.route('profile-index',{path: '/:u_name'});
});
export default Router;
루트 /하는 index.js
import Ember from 'ember';
export default Ember.Route.extend({
eUserName: undefined,
model(params){
this.set('eUsername', params.u_name);
return [1,2];
},
setupController(controller,model){
this._super(...arguments);
controller.set('eUsername',this.get('eUsername'));
}
});
루트/프로파일하는 index.js이 index.hb
를 렌더링이 profile-index.hbs
을 아니다
import Ember from 'ember';
import IndexRoute from './index';
export default IndexRoute.extend({
templateName:'index',
});
컨트롤러 /하는 index.js
import Ember from 'ember';
export default Ember.Controller.extend({
isProfilePageShown: Ember.computed('eUsername', function(){
return this.get('eUsername') ? true : false;
}),
isHomePageShown: Ember.computed('isProfilePageShown', function(){
return this.get('isProfilePageShown') ? false : true;
})
});
컨트롤러/프로필하는 index.js
import Ember from 'ember';
import IndexController from './index';
export default IndexController.extend({
});
템플릿/인덱스.hbs
import Ember from 'ember';
import IndexController from './index';
export default IndexController.extend({
});
당신이 [토론]에 관심이있을 것 (https://github.com/emberjs/ember.js/issues/14585) – kumkanillam
아하 ! 고맙습니다 @ kumkanillam –