I use the seed structure as per angular.io get started project. Everything OK so far.
Now I wanted to change the top component to have a view from a separated file a
The issue here seems absolute path. The compnent is requiring absolute path to be mentioned. This is my file structure,
The following is not working,
@Component({
selector: 'pm-products',
templateUrl: 'product-list.component.html',
styleUrls: ['product-list.component.css']
})
As of my knowledge, The HTML template Url or the Url for the style-sheet needs to be given in absolute path. I tried the following and working.
@Component({
selector: 'pm-products',
//template: `<h3>PRODUCT LISTINGS </h3>`
templateUrl:'app/products/product-list.component.html'
})
If you work with your 'main' component, you may use (absolute path):
'./your_component_name.html'
in your case:
'./app.component.html',
If other component - you have couple of choices:
/app/your_component_html_filename
like example /app/dashboard.html
or ./app/dashboard.html
About using of .css NOT from your 'main' component:
app/your_component_css_filename
like example app/dashboard.css
without first slash '/'!!!In my case i resolved this issue by adding moduleid property of component
@Component({
moduleId: module.id,
selector: 'my-app',
// templateUrl: './app/app.component.html'
templateUrl:'app.component.html'
})
and it works as expected.
And i get some idea from this url :
https://www.youtube.com/watch?v=WAPQF_GA7Qg&feature=youtu.be
Add moduleId: module.id in the @Component decorator. If you don't have that then Angular 2 will be looking for your files at the root level.
import {Component} from 'angular2/core';
@Component({
selector: 'my-app',
moduleId: module.id,
templateUrl: 'app.component.html'
})
export class AppComponent { }
Check this article
You have to write path from the build path.
templateUrl: 'build/app.component.html'
Give the path from the root directory.