joe*_*ter 12 angular2-template angular2-modules angular
我有一个使用Angular-CLI创建的简单应用程序,我想重构并将app.component.ts代码移动到单独的组件文件中并开始出现一个令人讨厌的错误:
找不到模块:错误:无法解析'./sb/sb.component.html'(我的SBComponent).在下面
这就是我所拥有的:
app.module:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { SBComponent } from './sb/sb.component'
@NgModule({
declarations: [
AppComponent, SBComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
app.component:
import { Component } from '@angular/core';
import { NgModule,ElementRef, ViewChild, AfterViewInit} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
}
Run Code Online (Sandbox Code Playgroud)
新组件:
import { Component, OnInit } from '@angular/core';
import { NgModule,ElementRef, ViewChild, AfterViewInit, AfterContentInit} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
@Component({
selector: 'app-sb',
templateUrl: './sb/sb.component.html'
})
export class SBComponent {
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
Dot*_*mer 22
如果您的组件位于同一目录中,那么您还需要指向templateUrl同一个文件夹.以下是如何做到这一点:
@Component({
selector: 'app-sb',
templateUrl: './sb.component.html'
})
Run Code Online (Sandbox Code Playgroud)
当我们使用外部html和css文件的组件相对路径时,此问题是众所周知的。只需在组件中添加元数据ModuleId即可解决绝对路径和相对路径的问题。
现在,ModuleId做什么?ModuleId包含组件类的绝对URL [实际加载模块文件时]
ModuleIdAngular反射过程和metadata_resolver组件使用此值在构建组件之前评估完全限定的组件路径
它很容易使用。只需在@Component装饰中添加一个条目即可。完整的代码示例如下。
@Component({
moduleId: module.id, // fully resolved filename; defined at module load time
selector: 'app-sb',
templateUrl: 'sb.component.html' //Observe this.
})
export class SBComponent {
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我的问题与这里提出的问题相同,我的解决方案却截然不同
导致问题的代码:
@Component({
selector : 'app-header',
templateUrl : './header.component.html',
styleUrls : ['']
})
Run Code Online (Sandbox Code Playgroud)
在这里通过改变:
styleUrls : ['']
Run Code Online (Sandbox Code Playgroud)
对此:
styles : ['']
Run Code Online (Sandbox Code Playgroud)
帮助我删除模块未找到错误,认为有人可能会因为这个愚蠢的错误而收到此错误,这就是为什么分享我的解决方案
| 归档时间: |
|
| 查看次数: |
28386 次 |
| 最近记录: |