首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用指令时,您有内联模板在角6组件?

如何使用指令时,您有内联模板在角6组件?
EN

Stack Overflow用户
提问于 2018-10-16 19:45:18
回答 1查看 362关注 0票数 0

我有一个简单的角组件(web ),它没有使用单独的带有模板的.html文件,而是将html标记内联写入,如下所示:

代码语言:javascript
复制
import {
  Input,
  Component,
  ViewEncapsulation,
  EventEmitter,
  Output
} from '@angular/core';

const heroes = ['Windstorm', 'Bombasto', 'Magneta', 'Tornado'];

@Component({
  selector: 'custom-button',
  template: `
  <ul>
      <li *ngFor="let hero of heroes">
        {{ hero }}
      </li>
    </ul>
  `,
  styles: [
    `
    button {
      border: solid 3px;
      padding: 8px 10px;
      background: #bada55;
      font-size: 20px;
    }
  `
  ],
  encapsulation: ViewEncapsulation.Native
})
export class ButtonComponent {
  @Input() label = ' label';
  @Output() action = new EventEmitter<number>();
  private clicksCt = 0;

  handleClick() {
    this.clicksCt++;
    this.action.emit(this.clicksCt);
  }
}

然后,我使用这个组件作为自定义元素,在index.html文件中显示它。问题是,当我打开应用程序时,没有呈现我的任何内容。相反,我将其置于检查模式中:

如果删除ngFor指令,静态内容就会呈现得很好。问题是,当我使用指令仅通过数组列出时。

有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-16 19:50:37

const heroes = ['Windstorm', 'Bombasto', 'Magneta', 'Tornado'];

需要添加到ButtonComponent类的属性中:

代码语言:javascript
复制
export class ButtonComponent {
  ...

  heroes: string[] = heroes;
}

除非使全局和导入成为属性,否则它们不能用于组件的绑定上下文。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52843001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档