2015-11-09 3 views
1

Я новичок в ember.js и изучаю его, изучая базу кода приложения 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), и я вижу, что правильное значение выводится на вкладке консоли в инструменте браузера dev, но я могу " t определить, где это свойство определено.

Я пытался найти ответ в официальной документации ember.js, но не повезло. Мой вопрос

  1. делает ember.js действительно выводит контроллер в качестве /controllers/posts.js по имени файла
  2. является уголек даже достаточно умен, чтобы автоматически загрузить модель в currentPost

Спасибо.

ответ

1

1) Да, ember будет выводить контроллер как /controllers/posts.js, если файл есть.

2) Текущее сообщение является вычислительным свойством контроллера, оно не загружает модель как currentPost.

ПРИМЕЧАНИЕ:: Контроллеры Ember амортизируются в отношении маршрутизируемых компонентов - поэтому для новых приложений рекомендуется избегать контроллеров любой ценой.

Для получения более подробной информации об этом и других будущих проблемах цветопроб, см: https://gist.github.com/samselikoff/1d7300ce59d216fdaf97

+0

Спасибо за подтверждение на первый вопрос. Что касается второго, я не могу найти определение этого свойства 'currentPost' в контроллере, может ли это свойство быть определено где-то еще? или он неявно определяется ember.js? – eric

+0

Вы разместите ссылку на код, с которым работаете? (Предполагая, что это git repo) –

+0

[/routes/posts.js](https://github.com/sunh3/Ghost/blob/master/core/client/app/routes/posts.js) строка 39,40 извлекает имуществом. [controllers/posts.js] (https://github.com/sunh3/Ghost/blob/master/core/client/app/controllers/posts.js) строка 72 - это определение sortedPosts. Я не могу найти currentPost, но он все еще работает – eric

Смежные вопросы