Моя цель - опубликовать posts.index список ваших сообщений и кнопку, чтобы добавить новое сообщение над списком текущих сообщений. У меня есть кнопка («Добавить новую запись»), что я хочу исчезнуть, как только эта кнопка делает posts.new шаблон в {{outlet}}
Ember 2.7: Удалить кнопку, если я нахожусь на вложенном маршруте
Мой маршрутизатор шаблон
{{router.js}}
Router.map(function() {
...
this.route('posts', function() {
this.route('new');
});
});
Posts.index
{{templates/posts.hbs}}
{{outlet}} {{!-- <- Contains the posts.new template --}}
{{#if showButton}}
<p>works</p>
{{else}}
<p>doesn't</p>
{{/if}}
{{#link-to 'posts.new' tagName='button' class="btn btn-default"}}Add a new post{{/link-to}}
контроллер
{{controllers/posts.js}}
export default Ember.Controller.extend({
posts: Ember.inject.controller(),
showButton: Ember.computed.equal('posts.index', 'posts.new'),
});
Сейчас showButton
повторно поворачивая «нет» на обоих маршрутах, потому что я не правильно использую помощник computed.equal
. То, что я пытаюсь сделать, это проверить, соответствует ли текущий маршрут до маршрута posts.new
, и если это так, отобразите желаемый блок кода.
Edit:
Я понял ответ на свой вопрос. Здесь это для всех, кому это нужно.
https://stackoverflow.com/a/38819256/4761914
вычисленное равное сравнивает первое свойство со строкой, в вашем случае оно всегда будет ложным –