【问题标题】:How to instantiate and render Angular2 components?如何实例化和渲染 Angular2 组件?
【发布时间】:2017-01-20 07:19:25
【问题描述】:

我正在尝试学习 angular2(和 Typescript),并按照快速入门指南和一些非官方教程进行操作,我已经取得了一些进展,有了一个包含一些组件的简单应用程序。

我了解在我的模板中使用方括号表示法将模型数据绑定到 DOM 元素的过程:<h1>{{title}}</h1>

我很难理解的是如何从我的 Typscript 代码中动态实例化一个新组件,然后在 DOM 中呈现它。

如果我将一个组件导入我的文件并实例化一个新组件,这将触发模型中组件的构造函数。 Angular2 是否允许我渲染它,或者将一个组件附加到另一个组件或查询的 div 元素?

import {ListComponent} from './list.component';
...
export class MainAppComponent {

    buttonClicked(){
        // I'm creating a new list component. What is the proper way to render it within this MainAppComponent?
        this.list = new ListComponent();
    }
}

【问题讨论】:

标签: angular


【解决方案1】:

您缺少Angular2 的许多概念。在 Angular 中,您不会自己实例化组件并将它们添加到 DOM,Angular 会处理所有事情,模式是:

  • 拥有一个包含模板的父组件
  • 拥有一个包含选择器的子组件
  • 您在父组件中导入并添加子组件选择器 组件模板
  • 子组件在父组件内部渲染

这里要问的东西太多了,需要关注Angular2 tutorial HERE,再关注Angular2 basics docs HERE

【讨论】:

  • 我会检查这些来源!谢谢。习惯了纯js应用所以Angular2很新。
  • 我希望它是那么简单。请你下马,承认一个事实,那就是那些教程中省略了很多,它们给人一种虚假的成就感。更糟糕的是,整个生态系统处于不断变化的状态。在短短两天内,我不得不升级一个核心组件(zone.js),因为我周一安装的版本在第二天被 Chrome Web 浏览器的更新破坏了。
  • 没有什么大不了的,Angular 文档是有史以来最好的,写得非常好,非常完整,很高兴能关注它。你可能在 zone.js 上运气不好。你需要去快速入门 -> 教程 -> 指南 -> 高级 -> 食谱
猜你喜欢
  • 1970-01-01
  • 2021-10-26
  • 2017-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
  • 2021-12-28
  • 1970-01-01
相关资源
最近更新 更多