2016-03-23 3 views
1

У меня есть кнопка переключения на странице, после ее щелчка, тогда текущее представление страницы изменилось бы на другой html.Ionic2 Динамически меняйте вид

Я устал меняться @Page, но как только его загрузили, я не могу изменить его снова.

@Page({ 
    templateUrl: isTrue ? 'build/pages/detail/page-by-page-view.html' : 'build/pages/detail/chapter-by-chapter-view.html' 
}) 

ответ

2

@Page() - аннотация. Angular2 обрабатывает это при загрузке компонента (что технически есть @Page()). Он не является частью обнаружения изменения зоны, поэтому изменение переменной ничего не даст. Даже после звонка applicationRef.tick().

Решение может использовать *ngIf директиву и объединять файлы шаблонов

+0

у вас есть пример использования для '* ngIf' с шаблона, включая? – Basit

+1

Объедините свои шаблоны в один файл, в первом верхнем элементе из 'page-by-page-view.html':' * ngIf = "isTrue" ', а в другом' * ngIf = "! IsTrue" ' – PierreDuc

+0

ahhh .. так же. – Basit