2017-03-01 82 views
0

我想用Angular 2在PrimeNg中扩展一个组件。我尝试了一个简单的例子来扩展MultiSelect组件,但不成功。我收到以下错误“DomHandler没有提供者!”在浏览器控制台中。有没有人试过扩展PrimeNg组件。这是否可能?在PrimeNG中扩展组件

确切异常:<> “EXCEPTION:错误./AppComponent类AppComponent - 联模板:0:0引起的:无提供DomHandler
ErrorHandler.handleError @ error_handler.js:54
! (匿名)@ application_ref.js:261
ZoneDelegate.invoke @ zone.js:330
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:329
Zone.run @ zone.js :126
(匿名) @ zone.js:679
ZoneDelegate.invokeTask @ zone.js:363
onInvokeTask @ ng_zone.js:264
ZoneDelegate.invokeTask @ zone.js:362
Zone.runTask @ zone.js:166
drainMicroTaskQueue @ zone.js:529“

回答

0

这是可能的,但是没有办法扩展模板。

要修正这个错误,你需要在constructor全部为多选组件的依赖提供:

constructor(el: ElementRef, domHandler: DomHandler, renderer: Renderer, differs: IterableDiffers) { super(el, domHandler, renderer, differs); }

+1

我犯了一个错误,没有提到的是,供应商对我的扩展类。添加了Domhandler作为提供者,它的工作。 –