Ember无法识别子文件夹

时间:2016-10-17 16:35:50

标签: ember.js ember-cli

以下路线结构对我来说很好。

Correct Structure

但每当我将faculty.js移到faculty文件夹中时,我的模板就会停止识别数据。静态视图元素仍然正确显示,但数据模型记录为null。我该如何解决?

enter image description here

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');
});

导出默认路由器;

控制台日志

  

1 个答案:

答案 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}}。