使用 material-dropdown-select 时 DomPopupSourceFactory 提供程序错误
DomPopupSourceFactory provider error when using material-dropdown-select
我正在尝试使用 material 下拉菜单 select 但我收到此错误:
EXCEPTION: No provider found for DomPopupSourceFactory.
material指令添加到指令列表中,html调用很简单:
<material-dropdown-select></material-dropdown-select>
我尝试了 angular_components_example,效果很好。问题出在我的项目上。我已经尝试清理 .packages 并执行 pub get。没有任何效果。我尝试了其他一些 material 组件,它们都起作用了。
如果您将 materialProviders
添加到 AppComponent
,它应该可以工作:
@Component(
selector: 'my-app',
directives: const <dynamic>[
CORE_DIRECTIVES,
materialDirectives,
],
providers: const <dynamic>[
materialProviders, // <<<<<<<<<<<<<<<<
],
)
class AppComponent {...}
它适用于 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 {}
我正在尝试使用 material 下拉菜单 select 但我收到此错误:
EXCEPTION: No provider found for DomPopupSourceFactory.
material指令添加到指令列表中,html调用很简单:
<material-dropdown-select></material-dropdown-select>
我尝试了 angular_components_example,效果很好。问题出在我的项目上。我已经尝试清理 .packages 并执行 pub get。没有任何效果。我尝试了其他一些 material 组件,它们都起作用了。
如果您将 materialProviders
添加到 AppComponent
,它应该可以工作:
@Component(
selector: 'my-app',
directives: const <dynamic>[
CORE_DIRECTIVES,
materialDirectives,
],
providers: const <dynamic>[
materialProviders, // <<<<<<<<<<<<<<<<
],
)
class AppComponent {...}
它适用于 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 {}