Поддерживает ли Angular 2 ссылки на назначение контроллеров из шаблонов, как в версии 1?

Я всегда думал, что это отличная особенность Angular 1, что разработчик может писать бизнес-логику в контроллере без ссылок на что-либо, связанное с разметкой и рендерингом.

Читая Angular 2 docs, я заметил такой код:

import { Component } from '@angular/core';
@Component({
  selector: 'my-app',
  template: '<h1>My First Angular 2 App</h1>'
})
export class AppComponent { }

Означает ли это, что в Angular 2 это больше не так, и разработчик должен ссылаться на шаблон из бизнес-логики?

1 ответ

  1. Это по-прежнему так, поскольку Angular2 поддерживает привязку между классом компонентов и связанным с ним шаблоном.

    Вот простой пример:

    import { Component } from '@angular/core';
    @Component({
      selector: 'my-app',
      template: `
        <h1>{{title}}</h1>
        <div (click)="executeProcessing()">Execute</div>
      `
    })
    export class AppComponent {
      title:string = 'some title';
    
      executeProcessing() {
        console.log('some processing');
      }
    }
    

    Дополнительные сведения о синтаксисе ttempalte см. по следующей ссылке: