升级到Angular 6.1后,模板内容未显示

时间:2018-09-23 20:17:57

标签: angular meteor

由于我的app.component得到了模板文件的名称: client / imports / app / app.component.html

Image screenshot

代替处理模板及其内容。

这是我的组件代码:

import { Component, NgZone } from '@angular/core';
import { Location } from '@angular/common';
import { Router } from '@angular/router';
import template from './app.component.html';

@Component({
  selector: 'app-root',
  template,
})
export class AppComponent {
   user: Meteor.User;

   constructor(private router: Router, zone: NgZone, location:Location) {
    Tracker.autorun(() => {
      if (Meteor.user())
      {
         zone.run(() => {
            this.user = Meteor.user();
         });
      }
      else
      {
        this.user = undefined;
      }
    });
  }

 isMenuActive(value)
 {
    return location.pathname.indexOf(value) !== -1;
 }

 isHome()
 {
    return location.pathname == ""
 }
}

关于它为什么似乎不再起作用的任何想法?

谢谢

2 个答案:

答案 0 :(得分:0)

使用angular component-metadata文档中所述的Component装饰器。

写这个import template from './app.component.html';是错误的,因为您的模板html没有成员称为 template

您可以这样改写装饰器:

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})

答案 1 :(得分:0)

Angular Meteor编译器软件包的用法更改了angular的几个版本。查找信息的地方是编译器存储库本身。有一个示例应用程序。

https://github.com/Urigo/angular-meteor/tree/master/examples/MeteorCLI/all-in-one

基本上,您不需要导入模板,而是通过templateurl引用

例如

@Component({
  selector: 'app',
  templateUrl: 'app.component.html'
})