以下路线结构对我来说很好。
但每当我将faculty.js移到faculty文件夹中时,我的模板就会停止识别数据。静态视图元素仍然正确显示,但数据模型记录为null。我该如何解决?
faculty.js
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return {name:"Janusz", lastname:"Chudzynski", department:"Test"};
}
});
faculty.hbs
{{outlet}}
<h2>Faculty</h2>
{{log model}}
{{faculty-single facultyModel=model}}
路由器
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
this.route('colleges');
this.route('departments');
this.route('faculty',{path:'/faculty'});
//this.route('faculty');
});
导出默认路由器;
控制台日志
空
答案 0 :(得分:1)
文件夹的层次结构应与路由器的层次结构密切相关。在您的情况下,您有以下内容:
/app/routes/faculty/faculty.js
这意味着所有这些都直接位于faculty
路径下,是正确的文件结构:
faculty
要使Router.map(function() {
this.route('colleges');
this.route('departments');
this.route('faculty', function() {
this.route('faculty');
});
});
生效,您需要在faculty
路线内嵌套faculty.faculty
路线:
{{1}}
由于名称连接,父路由的全名为{{1}},嵌套路由的全名为{{1}}。