为什么Angular 2使用字符串作为模板模型?

时间:2016-07-10 06:52:17

标签: reactjs typescript angular

我一直在使用React和TypeScript一年。而使我像React一样的事情是,使用TypeScript时,React中的几乎所有东西都可以是类型安全的。

Angular 2,虽然它是用于使用TypeScript但它仍然需要使用"魔术字符串"里面的模板。这让我很失望。

示例(使用React):

class ClickMeComponent extends React.Component<{}, {clickMessage: string}> {
    state = {
        clickMessage = ""
    }

    onClickMe = () => {
        this.setState({clickMessage: "You are my hero!"});
    }

    render() {
        <button onClick={onClickMe}>Click me!</button>
        {this.state.clickMessage }
    }
}

示例(使用Angular 2):

@Component({
  selector: 'click-me',
  template: `
    <button (click)="onClickMe()">Click me!</button>
    {{clickMessage}}`
})
export class ClickMeComponent {
  clickMessage = '';

  onClickMe() {
    this.clickMessage = 'You are my hero!';
  }
}

React的模板完全是类型安全的,但Angular的模板正在使用string&#34; onClickMe()&#34;

为什么Angular团队无法以某种方式设计它以从TypeScript获得类型安全?特别是当他们创建An​​gular 2时首先使用TypeScript?

0 个答案:

没有答案