TypeError:无法读取未定义的Angular 6的属性'toString'

时间:2018-10-31 15:01:48

标签: angular

我正在尝试构建一个角度为6的库,但是我遇到了一些问题。

在将--SoumissionStructComponent--添加到我的库模块之前,没有发生任何错误

但是一旦添加,我就得到了这个

TypeError: Cannot read property 'toString' of undefined
 at new Input (C:\Users\taha.manar\Documents\workspace\Adjucation-Ihm\node_modules\ng-packagr\node_modules\postcss\lib\input.js:53:20)
 at parse (C:\Users\taha.manar\Documents\workspace\Adjucation-Ihm\node_modules\ng-packagr\node_modules\postcss\lib\parse.js:13:15)
 at new LazyResult (C:\Users\taha.manar\Documents\workspace\Adjucation-Ihm\node_modules\ng-packagr\node_modules\postcss\lib\lazy-result.js:60:16)
 at Processor.<anonymous> (C:\Users\taha.manar\Documents\workspace\Adjucation-Ihm\node_modules\ng-packagr\node_modules\postcss\lib\processor.js:138:12)
...

SoumissionStructComponent.ts

import { Component, OnInit } from '@angular/core';
import { SoumissionService } from './soumission.service';
import { ListElements, ElementList } from './../Common/root-page/model/ElementList';

@Component({
  selector: 'app-soumission-struct',
  templateUrl: './soumission-struct.component.html',
  styleUrls: ['./soumission-struct.component.css']
})
export class SoumissionStructComponent implements OnInit {
  listElements: ListElements;
  elementsList: ElementList[] = [];
  constructor(private soumissionService: SoumissionService) {
soumissionService.getActivatedSoumission().subscribe((r: any) => {

  this.listElements = new ListElements();
  this.listElements.listElts = [];
  if (r) {
    this.listElements.listElts.push({ key: r.id, value: r.seanceDate });
  }
});
  }

  ngOnInit() {
  }

}

希望我已经清楚地描述了问题

2 个答案:

答案 0 :(得分:8)

您在ng generate之后更改了CSS-> scss吗?如果是这样,则您需要更新styleUrls

答案 1 :(得分:1)

与Anthony的答案几乎相同,但是对我来说,我得到这个是因为我更喜欢内联模板和样式,但是在使用ng generate时,我忘了包括-s -t标志(尤其是在lib项目中,其中的全局内联设置位于angular.json似乎不粘吗?)。

生成ng后,我删除foo.html和foo.scss文件,以避免在5秒钟内按Alt + Tab键20次时陷入a状态。

然后,我将templateUrl更改为模板:

foo起作用

(注意:用模板的刻度线替换url字符串中的单引号)。

然后我经常忘记将styleUrl ['foo.scss']更改为styles [[]],然后弹出此错误消息。这是一个很棒的工具发出的la脚的错误消息,但我认为这与webpack的不透明有关。