我正在尝试使用材料下拉选择,但我收到此错误:
EXCEPTION: No provider found for DomPopupSourceFactory.
materialDirectives被添加到指令列表中,html调用很简单:
<material-dropdown-select></material-dropdown-select>
我尝试了angular_components_example并且工作正常。问题出在我的项目上。我已经尝试清理.packages并执行pub get。没有任何效果。我尝试了一些其他材料组件,但是他们工作了。
答案 0 :(得分:3)
如果您将materialProviders
添加到AppComponent
,则应该有效:
@Component(
selector: 'my-app',
directives: const <dynamic>[
CORE_DIRECTIVES,
materialDirectives,
],
providers: const <dynamic>[
materialProviders, // <<<<<<<<<<<<<<<<
],
)
class AppComponent {...}
答案 1 :(得分:1)
它适用于angular_components示例,因为应用级组件包含必要的popupBindings
提供程序。
如果您的应用中未包含materialProviders
,则可以在组件中使用更具体的提供商。
以下是使用material-dropdown-select
所需的最小样板:
import 'package:angular/angular.dart';
import 'package:angular_components/laminate/popup/module.dart';
import 'package:angular_components/material_select/material_dropdown_select.dart';
@Component(
selector: 'my-dropdown-select',
directives: const [
MaterialDropdownSelectComponent,
],
providers: const [
popupBindings,
],
)
class MyDropdownSelectComponent {}