2016-06-01 3 views
0

Уверен, что мне не хватает чего-то простого здесь, но у меня есть дочерний компонент, который испускает объект через событие Output. Родительский компонент затем присоединяется к этому выходу в шаблоне следующим образом:Использовать свойство из привязки вывода в родительском компоненте

<div class="tree-panel-container"> 
    <div class="tree-panel-content"> 
     <content-tree (contextSelected)="contextPanelSelected($event);"></content-tree> 
    </div> 
    <context-panel> 
     <div class="context-panel"> 
      <h2>{{contextTitle}}</h2> 
     </div> 
    </context-panel> 
</div> 

В экспортируемом классе этой же компонента является функцией, как это:

contextPanelSelected($event) { 
    console.log($event); 
} 

console.log в этой функции является правильным, поэтому я знаю, что выходной объект проходит, как и ожидалось. То, что я хочу сделать, это использовать свойство для этого выходного объекта, чтобы заполнить значение {{contextTitle}} в шаблоне.

Может ли кто-нибудь предложить, как это сделать?

Большое спасибо.

ответ

0

Вы можете использовать следующее:

contextPanelSelected(value) { 
    console.log(value); 
    this.contextTitle = value; 
} 

В следующем коде:

(contextSelected)="contextPanelSelected($event)" 

$event соответствует данным, посылаемого через событие contextSelected.emit('some text'). Это значение может быть передано как параметр метода contextPanelSelected. Этот метод затем отвечает за установку этого параметра в свойство contextTitle компонента.

+0

С благодарностью Thierry, я пробовал это, но получал красную красноватую подчеркивание в коде Visual Studio, говоря: «Свойство contextTitle» не существует в типе «ContentComponent», но я замечаю, что объявляю «contextTitle» как пустую переменную вне функции 'contextPanelSelected', тогда он отлично работает. Возможно, это была всего лишь инструментальная красная селедка. – Dan

+1

Добро пожаловать! Это потому, что TypeScript ожидает, что вы определите свойство перед его использованием. Что-то вроде этого: 'contextTitle: string;'. –

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