【问题标题】:angular 8 - component not loading in the html角度 8 - 组件未在 html 中加载
【发布时间】:2019-08-16 16:35:26
【问题描述】:

我想知道是否有人遇到过类似我现在遇到的问题?

我正在学习 Scrimba 的角度课程,它的第 7 课,角度组件。

我使用 cli 命令创建了 angular 应用程序并尝试加载和更改“正在加载...” 像讲座一样带有“hello world”的部分, 甚至复制了整个代码并将其粘贴到我的本地文件中并刷新 index.html 但仍然不起作用!

不知道有没有人知道或遇到过类似的问题? 非常感谢您的帮助!

这就是我的 app.component

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-root',
  template: `<h1>{{ title }}</h1>`,
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.sass']
})
export class AppComponent implements OnInit {
  title: string;
  constructor(){ }

  ngOnInit() {
    this.title = 'hello';
  }
}

这就是我的 app.module

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { CustomersComponent } from './customers/customers.component';

@NgModule({
  declarations: [
    AppComponent,
    CustomersComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

这是我的 index.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>AngularProject</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
  <app-root>
      Loading...
  </app-root>
</body>
</html>

【问题讨论】:

  • 我们不知道你做了什么改变(我们不知道这个讲座是什么),我们不知道“不起作用”是什么意思。准确地告诉你你在做什么,你期望发生什么,以及会发生什么。贴出相关代码。
  • 这并不意味着什么。你显然忘了说完你的句子。
  • @JBNizet 我试图了解角度组件的工作原理以及如何使用 ngOnInit 函数,而我期望发生的是在“app-root”中,默认文本是“正在加载...”但我想在触发 ngOnInit 函数时添加“hello”文本。但目前,它没有在浏览器/html 中添加“hello”。希望这现在清楚了吗?你能帮我吗?
  • 默认文本未加载。加载是在浏览器加载页面到浏览器解析和执行 JavaScript 代码之间出现的情况。此时,Angular 会实例化组件,并用组件的动态模板替换默认的静态文本“Loading”。正如您已经被告知的那样,您不能同时拥有模板和模板Url。你想保留哪一个?如果是 templateUrl,app.component.html 文件包含什么?您希望看到什么,而您又看到了什么?

标签: javascript angular typescript single-page-application angular8


【解决方案1】:

你不能同时拥有这两个

  template: `<h1>{{ title }}</h1>`,
  templateUrl: './app.component.html',

您可以删除其中一个

顺便说一下您的项目设置方式,我必须说您缺少一些配置文件。您应该按照这些步骤运行您的应用程序

npm install -g @angular/cli
ng new my-dream-app
cd my-dream-app
ng serve

请注意这是我遇到的错误,因此您需要按照上述步骤操作

【讨论】:

  • 这里是 stackblitz 链接 - stackblitz.com/edit/angular-oyrcq3 疯狂的是,在 stackblitz 上,它可以工作,但是当我使用本地浏览器进行测试时,它只显示

    部分而不是“helloComponent” .当我检查检查元素时,hello 组件被添加到“元素”中,但它的宽度和高度为 0x0。当我对其进行硬编码时,例如背景颜色,它确实显示了该颜色,但不显示 hello 组件数据。它让我疯狂的帮助:((((

  • 这是存储库 - github.com/jjyoon7/angular-newbie 非常感谢您查看它!
  • 好像你没有 tsconfig.json 和 tsconfig.app.json。只需更新我的答案。
  • 你好!你是对的,我之前没有遵循这些步骤,所以现在我已经尝试过了。但是当我在本地测试时,仍然有同样的问题,在检查元素中它没有任何宽度和高度属性。现在它也在stackblitz中引发错误,它说它在src文件夹下找不到“index.html”和“main.ts”,它确实存在。 :(((
【解决方案2】:

我有类似的问题(即空白页)。我按照https://angular.io/guide/setup-local 中给出的演示 Angular 应用程序给出的简单步骤进行操作(其他站点也为演示应用程序提供了类似的步骤),但是它没有显示任何内容。我试图查看源代码,但没有发现任何问题。经过长时间的尝试,我认为这可能是我的 Firefox 浏览器的问题(我使用的是 ubuntu 16.04,Firefox v51)。因此,我升级了 Firefox 最新版本 v71,它显示了来自 App 模块的文本(如预期的那样)。 请尝试检查您的网络浏览器,它可能是类似的问题。 祝你好运

【讨论】:

  • thnks bro 它的浏览器问题 bcz 我使用的是 IE,但是当我使用 chrome 时,我的问题解决了
【解决方案3】:

我有类似的问题(即空白页)。我升级了我的浏览器,它工作正常。

【讨论】:

猜你喜欢
  • 2020-12-10
  • 2021-08-06
  • 1970-01-01
  • 2022-01-04
  • 2018-08-25
  • 1970-01-01
  • 2020-11-27
  • 2020-02-25
  • 2017-07-19
相关资源
最近更新 更多