gpt4 book ai didi

Angular 找不到 templateUrl

转载 作者:太空狗 更新时间:2023-10-29 17:11:31 28 4
gpt4 key购买 nike

我正在尝试在 Angular js 2 中使用以下代码加载 Html 文件。该文件位于产品文件夹下,我尝试加载的 html 文件也在同一文件夹中。仍然无法正常工作。

import {Component} from 'angular2/core';

@Component({
templateUrl:'./products/app.component.pen.html'
})

export class PenComponent
{

}

上面的文件是从下面的 AppComponent 加载的。

import {Component} from 'angular2/core';
import {RouteConfig, ROUTER_DIRECTIVES} from "angular2/router";
import {PenComponent} from "./products/app.component.pen";
import {BookComponent} from "./products/app.component.book";

@Component({
selector: 'my-app',
template: `
<header>
<ul>
<li>
<a [routerLink]="['Pen']">Pen</a></li>

<li>
<a [routerLink]="['Book']">Book</a></li>
</ul>

</header>
<router-outlet></router-outlet>
`,
directives: [ROUTER_DIRECTIVES]

})

@RouteConfig([
{path: '/pen', name: 'Pen', component: PenComponent, useAsDefault:true}
{path: '/book', name: 'Book', component: BookComponent}


])


export class AppComponent {

}

最佳答案

对于 styleUrls 和 templateUrls,您必须使用相对于项目根目录的路径(因此 app/foo/bar/products/app.component.pen.html 而不是 ./products/app.component.pen.html)。

要使用相对于组件文件的 url,您的项目必须是 commonjs 模块(在 tsconfig 中设置 "module":"commonjs"),并且您必须在组件装饰器中包含 module.id:

@Component({ 
selector: 'foo',
moduleId: module.id // <== need this
templateUrl: './foo.html'
})

关于Angular 找不到 templateUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36563678/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com