我是ember.js的新手,并通过检查ember.js应用程序的代码库来学习它。
这是一个博客应用程序,在路由/routes/posts.js
中,代码从控制器中获取两个计算属性,
var currentPost = this.get('controller.currentPost');
var posts = this.get('controller.sortedPosts');
我知道ember.js推断了很多东西所以我假设这个controller
指的是控制器/controllers/posts.js
,我查看并找到了属性sortedPosts
的定义,但是有没有属性currentPost
的定义,我插入了一行代码console.log(currentPost)
,我可以在浏览器开发工具的控制台选项卡中看到正确的值,但我无法弄清楚这个属性在哪里是定义。
我试图在ember.js官方文档中找到答案,但没有运气。 我的问题是
/controllers/posts.js
currentPost
感谢。
答案 0 :(得分:1)
1)是的,如果文件在那里,ember会将控制器推断为/controllers/posts.js
。
2)Current Post是控制器的计算属性,它不会将模型加载为currentPost
。
注意:正在降低Ember控制器以支持可路由组件 - 因此对于新应用程序,建议不惜一切代价避免使用控制器。
有关此问题及其他未来校对问题的详细信息,请参阅:https://gist.github.com/samselikoff/1d7300ce59d216fdaf97