8

我正在为我的应用程序使用 PrimeNG 和 Angular2。

我有一个组件,它应该显示可选主题的下拉菜单。我遵循了PrimeNG Dropdown文档,据我所知,我已经以相同的方式构建了所有内容。但我总是收到错误“''没有值访问器”

主题.component.ts:

import { Component, OnInit, Input } from '@angular/core'
import { Dropdown, SelectItem} from 'primeng/primeng';

@Component({
   selector: 'my-themes',
   templateUrl: 'dist/html/theme.component.html',
   directives: [Dropdown],
})


export class ThemeComponent {
   selectables: SelectItem[];
   style: string;

   constructor() {
      this.selectables = [];
      this.selectables.push({ label: 'Nightflat', value: 'Nightflat' });
      this.selectables.push({ label: 'Flat', value: 'Flat' });
   }
   ngOnInit() {

   }

}

主题.component.html:

<p-dropdown [options]="selectables" [(ngModel)]="style"></p-dropdown>

问题可能出在哪里?:( 编辑:问题实际上是 ngModel。如果我从 html 标记中删除它,则会显示下拉列表。

4

2 回答 2

3

类似的问题还有很多 看看这里

您也可以通过更改您的ngModelwith来避免您的错误消息,model但目前正在处理的 primeng 存在问题。

也尝试使用已弃用的表单禁用。

import { disableDeprecatedForms, provideForms } from '@angular/forms';

bootstrap(AppComponent, [
disableDeprecatedForms(),
provideForms()]);

更新

据primeng官方介绍,问题已经解决,请看这里。

于 2016-07-24T19:29:20.373 回答
0

类似的问题还有很多 看看这里

https://github.com/primefaces/primeng/issues/549 ngModel:''没有值访问器

我得到了同样的控制台错误,只需添加 [ngModelOptions]="{standalone: true} 就可以了

于 2017-05-07T08:00:27.377 回答