2016-02-26 3 views
0

заголовков компонентTemplateUrl не может найти мой шаблон

import { Component } from "angular2/core"; 

@Component({ 
    selector: "header-component", 
    templateUrl: "header-template.html" 

}) 

export class HeaderComponent { 

} 

основного компонента

import {Component} from "angular2/core"; 
import {bootstrap} from 'angular2/platform/browser'; 

// Components 
import { HeaderComponent } from "./header.component"; 
import {ParametersForm} from './form' 

@Component({ 
    selector: "my-app", 
    directives: [ParametersForm, HeaderComponent], 
    template: ` 
    <header-component></header-component> 
    <parameters-form></parameters-form> 
    ` 
}) 

class MainApp { 

} 

bootstrap(MainApp) 
    .catch(err => console.error(err)); 

проблема заголовок-template.html не найден

я попытался следующие

templateUrl: "header-template" 
templateUrl: "header-template.html" 
templateUrl: "./header-template.html" 

Да templa te находится в той же папке, что и остальные компоненты, которые импортируются правильно.

Кто-нибудь знает, что проблема здесь?

ответ

1

эс шаблон находится в той же папке, что и остальная часть компонентов, которые импортируются правильно

Fix

templateUrl будет на самом деле URL-адрес, где файл может располагаться как только файл будет загружен браузером. Скорее всего, вы получаете 404 в браузере. См. Запрос, сделанный там, и массируйте его так, чтобы вы ожидали, что файл будет.

Лучше Fix

Используйте свой загрузчик, чтобы загрузить файл .html, как text содержание и передать в template и не заморачиваться с templateUrl

+0

YEP понял это с первого исправить. для лучшего исправления, я не знаю, как это делается на самом деле. Спасибо за ваш ответ! –

+0

@PetrosKyriakou в качестве примера здесь - загрузчик html для системы js: https://github.com/Hypercubed/systemjs-plugin-html/ – basarat

+0

Правильно, теперь я получаю его благодаря вам! –

Смежные вопросы