【问题标题】:How to show code example of an Angular Component from within an Angular 8 app's HTML?如何从 Angular 8 应用程序的 HTML 中显示 Angular 组件的代码示例?
【发布时间】:2020-06-05 02:09:18
【问题描述】:

我正在尝试创建一个应用程序来为我的公司记录内部可重用组件,但在弄清楚如何从我的 Angular 文档应用程序中显示 Angular Typescript 代码时遇到了麻烦。

每当我尝试这样做时,都会看到以下错误:

Error in @angular/compiler@8.2.14/bundles/compiler.umd.js (2603:21)
Template parse errors:
Invalid ICU message. Missing '}'. ("
export class SliderComponent {}

[ERROR ->]</code>"): ng:///AppModule/AppComponent.html@9:0

我在项目中真正拥有的唯一代码是在app.component.html 文件中,它看起来像这样:


<code>
  @Component({
        selector: 'app-slider-alt',
        templateUrl: './slider-alt.template.html',
        styleUrls: ['./slider.component.scss']
      })
      export class SliderComponent {}

</code>

Stackblitz link

有什么想法吗?

【问题讨论】:

    标签: angular typescript angular8


    【解决方案1】:

    问题是花括号。您可以将它们替换为:

    • { => &amp;#123;

    • } => &amp;#125;

    <code>
    @Component(&#123;
      selector: 'app-slider-alt',
      templateUrl: './slider-alt.template.html',
      styleUrls: ['./slider.component.scss']
    &#125;)
    export class SliderComponent &#123;&#125;
    </code>
    

    另外,我认为使用 &lt;pre&gt; 而不是 &lt;code&gt; 看起来更好

    Stackblitz demo

    【讨论】:

    • 非常感谢您的回复。我认为这让我朝着正确的方向前进,但随后 angular 开始抱怨“@”符号,所以我将其切换为 HTML 编号,然后它开始抱怨我将“C”切换到的“Component” html 号码,但它不会停止抱怨它。
    • 这很奇怪......它正在处理stackblitz
    • 也许是因为我在本地做得更多。但你是对的,它在 Stackblitz 中确实有效。感谢您的帮助!
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多