html - Angular 2 '@Component' 装饰器是否总是需要一个元素名称选择器?

标签 html angularjs angular angular-components

在这个例子中,来自官方的 Angular 2 文档,装饰器看起来像这样:

@Component({
  selector: 'my-app',
  template: '<h1>My First Angular App</h1>'
})

示例: 不希望我的 HTML 代码中没有乱七八糟的非标准元素,并且希望类似(注意:ng-angular 只是我希望看到的示例):

import { Component } from '@angular/core';
@Component({
  template: '<h1>Wait! Bloody wait some more.</h1>'
})
export class ListComponent { }

并使用了这样的东西:

<div ng-component="List"</div>

或者像这样的 Component 装饰器仅在您想要创建新的 HTML 元素时使用,然后在我的示例中为 div 坚持使用普通的 Listcontroller以上?

最佳答案

并不总是需要选择器,例如。您有一个由路由器加载并显示在

中的模块的顶级组件

任何其他类型的组件都需要选择器。否则 angular 不知道应该渲染哪个组件。

我还没有听说过属性“ng-component”

[编辑] kit 在他/她的第一条评论中有效地正确回答:

您必须创建一个元素来包围您的模板,但它不必是新的 HTML 元素,因为选择器可以是元素、[属性] 或类,例如。

<div test>

可以是带有选择器的组件的元素:'[test]'

关于html - Angular 2 '@Component' 装饰器是否总是需要一个元素名称选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39668492/

相关文章:

javascript - 调用 Angularjs 模块一次

javascript - Angular2 服务调用模型方法

angular - react 形式 setValidator 和 updateOn

html - CSS 媒体查询不覆盖

javascript - 如何让 VBA 提交 javascript 表单?

angularjs - 循环遍历 Angular 表单中的字段并使用 Protractor 测试输入验证?

带数据源 : pagination and filter is not working 的 Angular Material 表

c# - 检查数据库中是否存在值 c#/.net

javascript - 将输入和选择合并到一个可见的输入字段中

javascript - ($根作用域 :inprog) $apply already in progress